Visualizzazione risultati 1 fino 7 di 7

Discussione: Modulo select e modifica valore per update

  1. #1
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito Modulo select e modifica valore per update

    Ciao

    Ho una pagina nella quale tramite un form è possibile inserire dei dati.
    Tra le altre cose c'è un modulo di tipo select dal quale l'utente può scegliere la provincia.
    Una cosa del tipo:


    Codice:
    ....
    <select name="id_provincia"><option value="1">AGRIGENTO</option><option value="2">
    ALESSANDRIA</option><option value="3">ANCONA</option><option value="4">AOSTA</option><option value="7">
    AREZZO</option><option value="5">ASCOLI PICENO</option><option value="8">ASTI</option><option value="9">
    AVELLINO</option><option value="10">BARI</option>
    
    ...


    I dati in un secondo momento possono essere modificati, ma non ho capito come far visualizzare nella SELECT
    la provincia scelta originariamente che può essere modificata o meno come il resto dei dati prima di fare la query di UPDATE.

    Qualcuno può aiutarmi?

    Grazie

  2. #2
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Devi solo inserire, in quello che è il valore attuale, l'attributo selected="selected" al tag <option> corrispondente alla provincia. Più o meno così (scusa il campanilismo :D):
    Codice:
    <select name="id_provincia">
       ...
       <option value="PD" selected="selected">Padova</option>
       ...
    </select>
    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  3. #3
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito

    Citazione Originalmente inviato da dementialsite Visualizza messaggio
    Devi solo inserire, in quello che è il valore attuale, l'attributo selected="selected" al tag <option> corrispondente alla provincia. Più o meno così (scusa il campanilismo :D):
    Codice:
    <select name="id_provincia">
       ...
       <option value="PD" selected="selected">Padova</option>
       ...
    </select>
    Stammi bene...

    Un'attimo, non ci siamo capiti;
    scusami magari sono stato poco chiaro io o mi sfugge qualcosa.

    Quello di cui sopra va bene in html (e in effetti lo aggiungo nel codice della pagina di registrazione in html alla prov di default diciamo).
    Ma nella pagina per modificare i dati non posso mettere il selected dove voglio io,
    ma la provincia "selezionata" nel modulo select deve essere quella che era stata inserita dall'utente in fase di registrazione e nella pagina di modifica deve essere visualizzata la stessa nel modulo select (magari poi l'utente modifica anche la provincia).

    Non so se adesso è chiaro adesso.

    Grazie

  4. #4
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    È la stessa cosa: immagino che tu la provincia la estrarrai dal database o da qualche parte. Al momento di stampare la select con tutte le province, a te basta confrontare il valore dell'opzione esaminata con quello ripescato dai tuoi archivi: se sono uguali, puoi aggiungere l'attributo selected come ti ho detto sopra.

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  5. #5
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito

    Citazione Originalmente inviato da dementialsite Visualizza messaggio
    È la stessa cosa: immagino che tu la provincia la estrarrai dal database o da qualche parte. Al momento di stampare la select con tutte le province, a te basta confrontare il valore dell'opzione esaminata con quello ripescato dai tuoi archivi: se sono uguali, puoi aggiungere l'attributo selected come ti ho detto sopra.

    Stammi bene...
    la provincia la estraggo dal db (dove è stata inserita grazie alla select di cui sopra) certo; ma la select non la stampo è già presente anche nella pagina di modifica.
    Magari se posti un po' di codice di esempio ragioniamo su qualcosa di concreto.

    Grazie ancora

  6. #6
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Intendevo qualcosa del genere, nel caso dovessi stampare manualmente l'elenco:
    Codice PHP:
    $provincia = ...;

    echo
    '<select name="id_provincia">';
    echo
    '<option value="PD"' . ($provincia == 'PD' ? ' selected="selected"' : '') . '>Padova</option>';
    echo
    '<option value="VE"' . ($provincia == 'VE' ? ' selected="selected"' : '') . '>Venezia</option>';
    echo
    '<option value="VI"' . ($provincia == 'VI' ? ' selected="selected"' : '') . '>Vicenza</option>';
    echo
    '<option value="TV"' . ($provincia == 'TV' ? ' selected="selected"' : '') . '>Treviso</option>';
    echo
    '<option value="VR"' . ($provincia == 'VR' ? ' selected="selected"' : '') . '>Verona</option>';
    echo
    '<option value="BL"' . ($provincia == 'BL' ? ' selected="selected"' : '') . '>Belluno</option>';
    echo
    '<option value="RO"' . ($provincia == 'RO' ? ' selected="selected"' : '') . '>Rovigo</option>';
    ...
    echo
    '</select>';
    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  7. #7
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito

    Citazione Originalmente inviato da dementialsite Visualizza messaggio
    Intendevo qualcosa del genere, nel caso dovessi stampare manualmente l'elenco:
    Codice PHP:
    $provincia = ...;

    echo
    '<select name="id_provincia">';
    echo
    '<option value="PD"' . ($provincia == 'PD' ? ' selected="selected"' : '') . '>Padova</option>';
    echo
    '<option value="VE"' . ($provincia == 'VE' ? ' selected="selected"' : '') . '>Venezia</option>';
    echo
    '<option value="VI"' . ($provincia == 'VI' ? ' selected="selected"' : '') . '>Vicenza</option>';
    echo
    '<option value="TV"' . ($provincia == 'TV' ? ' selected="selected"' : '') . '>Treviso</option>';
    echo
    '<option value="VR"' . ($provincia == 'VR' ? ' selected="selected"' : '') . '>Verona</option>';
    echo
    '<option value="BL"' . ($provincia == 'BL' ? ' selected="selected"' : '') . '>Belluno</option>';
    echo
    '<option value="RO"' . ($provincia == 'RO' ? ' selected="selected"' : '') . '>Rovigo</option>';
    ...
    echo
    '</select>';
    Stammi bene...


    ho risolto così:

    Codice PHP:
    $querypro="SELECT * FROM province";
    $risultatopro = mysql_query($querypro) or die("Errore durante l'esecuzione della query");

    $query = "SELECT * FROM fornitori WHERE id = '$modifica_id'";
    $esegui = mysql_query($query);

    $num_rows = mysql_num_rows($esegui);

    if(
    $num_rows==0){
    die(
    "Stai tentando di modificare un record inesistente");
    }

    while (
    $result = mysql_fetch_array($esegui))
    {

    $idprovincia = $result[provincia];


    ...............

    $option = '';
    while(
    $row = mysql_fetch_array($risultatopro))
    {
    $option .= '<option value="'.$row['id'].'"'.(($row['id'] == $idprovincia) ? ' selected="selected"' : '').'>' . $row['descrizione'] . '</option>';
    }
    echo
    '<select name="id_provincia">' . $option . '</select>';
    ciao

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •