Popolare un Lista a Tendina Dinamicamente

Discussione in 'PHP' iniziata da peppoweb, 7 Aprile 2006.

  1. peppoweb

    peppoweb Utente Attivo

    Registrato:
    20 Febbraio 2003
    Messaggi:
    1.260
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    Occupazione:
    Web Developer
    Località:
    Imberido di Oggiono
    Home Page:
    Ciao A tutti ho questo problema:
    Io ho realizzato una pagina in cui ho un form con più campi. Per semplicità consideriamo di avere solo due campi:

    - CAMPO TIPOLOGIA (Lista a Tendina)
    - CAMPO FORMATO (Lista a Tendina)

    I valori del campo TIPOLOGIA vengono definiti mediante una QUERY di questo tipo:

    Codice:
    $query_tipologia='SELECT * FROM `tipologia`';
    Io ho bisogno di fare in modo che una volta selezionato il campo TIPOLOGIA venga popolato con i valori provenienti dalla seguente QUERY:

    Codice:
    $query_formato='SELECT * FROM `formato` WHERE `tipologia`=  [COLOR=red]VALORE CAMPO TIPOLOGIA[/COLOR]  ';
    Come posso fare?
     
  2. lukeonweb

    lukeonweb Utente Attivo

    Registrato:
    5 Marzo 2003
    Messaggi:
    5.189
    Mi Piace Ricevuti:
    9
    Punteggio:
    38
    Occupazione:
    Webmaster
    Località:
    Napoli
    Home Page:
    Ciao Peppe, sono poco pratico (per ora) col PHP ma posso dirti la filosofia di azione

    <select>
    <?
    // lanci la query
    // inizi il ciclo
    ?>
    <option value="<?echo nomecampo?>"><?echo nomecampo?></option>
    <?
    // finisci il ciclo
    ?>
    </select>

    di più non so dirti ma spero lo stesso di esserti stato utile!
     
  3. alexci

    alexci Nuovo Utente

    Registrato:
    24 Febbraio 2006
    Messaggi:
    21
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    seguendo il metodo tradizionale dovrai ricaricare la pagina per eseguire la query sul DB in base al campo TIPOLOGIA selezionato e quindi popolare la seconda lista. Concettualmente:

    1) popoli la prima lista in base alla query sulla tabella tipologia

    2) l'utente seleziona la tipologia, ricarichi la pagina (onChange) passando nella query string il valore tipologia selezionato

    3) quando ricarica sai qual'è il valore tipologia selezionato, quindi:

    3.1) puoi ripopolare la lista tipologia sapendo su quale option devi mettere l'attributo "selected" (o eventualmente metti la sola option precedentemente selezionata e lasci il campo disabilitato, se non vuoi che l'utente modifichi).

    3.2) fai la seconda query e popoli la seconda lista.


    Qualcosa del genere (scrivo al volo):

    Codice:
    
    <select name="tipologia" onChange="location='thispage.php?tipologia='+this.value">
    <option value="tipo1">Tipo 1</option>
    <option value="tipo2">Tipo 2</option>
    </select>
    
    <select name="formato">
    <?php
    if ( !empty($tipologia) ) {
       // query
       // scorri risultati e stampa lista
    }
    ?>
    </select>
    
    

    Occhio: se hai altri campi nel form, devi passarli tutti quando ricarichi la pagina sennò perdi i valori che l'utente ha già inserito.

    Ciao
     
Sto caricando...

Condividi questa Pagina