Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1

    [PHP + MYSQL] Impostare i campi radio in un form di update

    Salve,

    io dovrei fare questa cosa qui:

    1. prendere i dati dal DB.
    2. creare un form con predefiniti i valori da modificare.
    3. inviare il form alla pagina che ne modifica i dati.

    tutto "facile" tranne una cosa...

    nei campi radio, come faccio ad impostare il valore a checked??

    es:
    Codice PHP:
    $var mysql_query(SELECT FROM tabella WHERE id '$id');
       while (
    $array mysql_fetch_array($var) {
       
          
    $campotext $array['campotext']; // qui non ho problemi
          
    $camporadio $arrat['camporadio']; // qui può essere 's' o 'n'
       
    }

    // ora faccio cosi e funziona

    if($camporadio == "s") {
       
    $radio_s "checked";
       
    $radio_n "";
    } elseif (
    $camporadio == "n"){
       
    $radio_s "";
       
    $radio_n "checked";
    } else {
       
    $radio_s "";
       
    $radio_n "";
    }

    //form

    <form action="pagina.php" method="POST">
       
    campotext: <input type="text" name"campotext" value="$campotext">
       
    camporadioSI<input type="radio" name"camporadio" $radio_s> - NO<input type="radio" name"camporadio" $radio_n>

    //ecc...
    </form
    in questo modo mi stampa checke dove è necessario...

    ma se io volessi evitare questo per 20 campi diversi come potrei fare?
    come posso creare una funzione dalle mie righe di codice?

    grazie mille!
    Ciao!

  2. #2
    nessuno?
    Ciao!

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    50
    se tu conosci tutti i tipi camporadio che puoi avere nel server li metti in un array e fai il controllo su ognuno con un while

  4. #4
    Originariamente inviato da AlessioR
    se tu conosci tutti i tipi camporadio che puoi avere nel server li metti in un array e fai il controllo su ognuno con un while
    si li conosco, ma come faccio...?

    mi potresti dare un suggerimento?
    Ciao!

  5. #5
    nessuno mi può aiutare?

    ad es:

    io faccio un controllo per verificare se il numero che inserisco ha o meno un valore decimale:
    123.45 si 123.00 no

    allora faccio:
    Codice PHP:
       if(strstr($var,".") == ".00") {
              
    $var ereg("^([0-9]{1,10})\.[0-9]{2}$","$var",$result);
              
    $var $result[1];
       } 
    ma per evitare di farlo ogni volta:
    Codice PHP:
        function no_decimal($var) {

            if(
    strstr($var,".") == ".00") {
              
    $var ereg("^([0-9]{1,10})\.[0-9]{2}$","$var",$result);
              
    $var $result[1];
            }
            
        return 
    $var;
        } 
    e poi faccio:
    Codice PHP:
    $num no_decimal($num); 
    insomma mi automatizzo il tutto...
    ma per i radiobutton come posso fare??
    io conosco esattamente quali e quanti sono i campi.


    Ciao!

  6. #6
    Ad inizio pagina fai una stampa dell'array _POST e vedi come e' composto. In base a quello che vedrai lo potrai scandire con un foreach e prelevare i dati che ti serviranno.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    allora:

    $_POST['var'] = s
    $_POST['var2'] = n

    ecc.ecc...

    io so gia quanti sono i var e quali (non so invece se sono a "s" o "n")...

    che fo?

    si è capito cosa devo fare?
    devo dare alla variabile var_s o var_n il valore di "checked" per la predefinizione del campo radio...

    Ciao!

  8. #8
    Siccome non sai se e quali siano gli aggiornamenti il modo piu' semplice e' quello di ribatterli tutti. Se sono identici l'UPDATE non ha effetto se sono diversi il campo verra' aggiornato.

    Prima pensavo ad una select. Ho realizzato ora che tu devi fare un update.... Utilizza lo stesso script per il controllo dei dati che fai nell'insert e costruisci la query per l'update. Non vale la spesa verificare se il dato e' uguale oppure no, a quello ci pensera' mysql. Tieni presente che una QUERY tira fuori sempre tutta la tupla sia che elenchi uno, parte o tutti i campi.

    Devi fare solo le verifiche del dato immesso come si presume tu faccia anche per l'INSERT.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    no...

    forse mi sono spiegato male io...

    io seleziono la scheda da modificare, e nel form che la modifica, co metto i dati gia presenti nella scheda stessa...

    ad esempio:

    codice:
    <input type="text" name"nome" value="$nome">
    ma per il radio button, devo indicare se il campo deve essere o meno checked...
    cioè:

    codice:
    <input type="radio" nome="radio" checked>
    se leggi il primo post forse si capisce...
    in pratica come faccio a mettere l'opzione checked in base al valore attuale nel database?


    ora faccio cosi:
    codice:
    if($camporadio == "s") { 
       $radio_s = "checked"; 
       $radio_n = ""; 
    } elseif ($camporadio == "n"){ 
       $radio_s = ""; 
       $radio_n = "checked"; 
    } else { 
       $radio_s = ""; 
       $radio_n = ""; 
    }
    ma esiste un modo per creare una funzione che mi faccia tutto senza fare 10 righe di codice per ogni campo radio?

    :master:
    Ciao!

  10. #10
    la funzione la puoi sempre fare tu. Lo schema di lavoro e' quello. se vuoi ti metto giu' un abbozzo, ma credo che tu sia in condizione di farlo da solo.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.