Spesso ci capita di dover popolare dinamicamente il contenuto di una select con dati provenienti da una tabella o più correttamente estratti da un database tramite una query.
Supponiamo ad esempio di voler estrarre la lista di tutte le regioni da una tabella contente un codice identificativo della regione e il nome della ragione stessa.
Prescindendo dalla connessione e dalla selezione del database, la query a cui faremo riferimento è la seguente:
SELECT idRegione, regione FROM regioni ORDER BY regione
Il risultato che vogliamo ottenre è una select che mostri come etichette i nomi delle regioni, ma passi come valore l’id della regione selezionata. Inoltre abbiamo ordinato per regione in modo che il risultato della query ci ritorni i nomi delle regioni in ordine alfabetico.
Fatte tutte queste premesse possiamo scrivere il codice PHP.
0){
?>
Il codice è abbastanza semplice, dopo aver lanciato la query, controlliamo se ci sono risultati, se ci sono inseriamo il select e cicliamo su ogni riga del risultato della query.
Ad ogni “giro” produciamo un option con value e etichetta presi dal database.
Se volessimo mettere una option di informazione potremmo usare il seguente codice:
...
if ($res && mysql_num_rows($res)>0){
?>