Salve ho questo problema:
ho una funzione che mi richiamo quando devo stampare un menu a tendina con dentro campi di un database, solo che mi fa un errore.
Ecco la Funzione:
/* funzione per la stampa del menu a tendina: bisogna passargli in input:
1. il nome della tabella del db dal quale prendere i valori da stampare
2. il nome dell'attributo della tabella che vogliamo stampare come value della option
3. il nome dell'attributo della tabella che vogliamo stampare come nome della option
4. (opzionale) il nome della select vedere da visualizza sorgente html. Non passandola non stampa la parte <select>
5. (opzionale) l'eventuale valore che deve essere identificato come selected = "selected"
6. (opzionale) inserendo il parametro $primo_valore, lo stampa come option di default con value uguale a 0
*/
function stampa_menu_tendina($tabella, $value, $nome, $nome_select = "a", $id_selected = "a", $primo_valore = "a"){
//Recupero i dati dal DB
$strSQL = "SELECT * FROM $tabella WHERE 1 ";
$result = mysql_query($strSQL);
// creo il menu a tendina per le categorie
if($nome_select != "a")
echo "<select name=\"$nome_select\">";
if($primo_valore != "a")
echo "\t<option value=\"0\">".$primo_valore."</option>";
//Visualizzo i records nel menu a tendina
while ($row = mysql_fetch_array($result)){
$id_categoria = $row[$value];
$nomecat = $row[$nome];
echo "\t<option value=\"$id_categoria\"";
if($id_selected != "a" AND $id_categoria == $id_selected){ echo "selected=\"selected\""; }
echo ">$nomecat</option>\n";
}
if($nome_select != "a")
echo "</select>";
}
La lettera "a" l ho messa perchè prima cera zero ma con i numeri non mi funzione, mi funziona solo con una stringa pero non mi sembra una cosa molto pulita fare cosi, mentre era meglio che ci fosse zero. qualcuno puo aiutarmi? grazie..