Fare internet

E' come il lego, più pezzi ho più sono allegro
Seguci su Facebook Seguici su Twitter Iscrivita ai nostri Feed      Mandaci una mail

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.

<?php
$query="SELECT idRegione, regione FROM regioni ORDER BY regione";
$res = mysql_query($query);
if ($res && mysql_num_rows($res)>0){
?>
<select name="regioni">
<?php
   while($row=mysql_fetch_assoc($res)){
?>
   <option value="<?php echo $row[‘idRegione’]?>"><?php echo $row[‘regione’]?></option>
<?php
   }
?>
</select>
<?php
}
?>

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){
?>
<select name="regioni">
   <oprtion value="">Scegli una regione
<?php
   while($row=mysql_fetch_assoc($res)){

Sei interessato ad un corso di PHP a Roma?

Twitter