codice:// la stringa è la query che fai, la puoi passare // come variabile o direttamente come stringa // la variabile $db è a variabile di connessione a mysql // parametro utile ma non indispensabile (in alcuni casi) // per dire alla fnzione _query in quale connesione operare // di default la prima che trova se non specificato // (in alcuni casi ci si potrebbe connettere a più di un database) // la funzione mysql_unbuffered_query è simile a mysql_query // solo che non memorizza i risultati (non è possibile sapere se la query // ha dato risultati o meno con mysql_num_rows, ad esempio) $query = mysql_unbuffered_query("SELECT nome,codice FROM tabella ORDER BY id", $db); // il ciclo while serve a leggere i dati restituiti dalla query // la chiocciola serve ad evitare errori o notice qualora la query // non dovesse restituire nessun dato. // è un' alternativa veloce ad una query tipo // $query = mysql_query($myquery, $mydb); // if(mysql_num_rows($query) > 0) { // while($r = mysql_fetch_ ... eccetera) {} // } // siccome tu non usavi il controllo sul risultato // tanto valeva usare la più veloce mysql_unbuffered_query e strtturare // il ciclo while in quel modo while(@$r = mysql_fetch_row($query)) // per prendere il risultato di una query abbiamo diverse funzioni // tra cui mysql_fetch_row, la più veloce, che non restituisce // il nome dei campi (più pulito e leggibile) ma le sole posizioni // $r[0] = primo field restituito dalla query // $r[1] = secondo fields ... e così via // "SELECT a, b, c FROM table" // $r[0] sarà a o l'equivalente di $r['a'] in mysql-fetch_assoc / mysql_fetch_array // $r[1] sarà b // $r[2] sarà c $select .= '<option value="'.$r[1].'">'.$r[0].'</option>'; // l' operatore di assegnazione .= // serve ad accodare una stringa ad un altra già esistente // in questo caso chiude la select aperta in dichiarazione // della variabile $select = '<select name="selezione">'; $select .= '</select>';
tutto questo e molto di più su rieducascional channel
![]()