-
Ciao a tutti!
Devo elencare in un menu a tendina, usando il tag select, il contenuto di una tabella presente in un database mysql.
Ho provato con questo codice:
<?
$connessione=mysql_connect("$db_host","$db_pass"," $db_user")
or die("Impossibile stabilire una connessione");
$dbs=mysql_list_dbs($connessione)
or die ("Impossibile otenere l'elenco dei database");
$db_elenco="<select name=\"liste\">";
$db_num=1;
while ($db_num<mysql_num_rows($dbs)) {
$db_nomi[$db_num]=mysql_tablename($dbs,$dbnum);
$db_elenco.="<option value=\"$db_nomi[$dbnum]\"> $db_nomi[$db_num]</option>";
$db_num++;
}
$db_elenco.="</select>";
?>
ma non mi funziona, il browser non visualizza neanche il menu vuoto!!
Chi mi può aiutare?
Grazie.
-
Credo che hai sbagliato....
mysql_list_dbs ();
serve per stabilire quanti db ci sono in un MySql... credo che proprio non si possa fare...
Se vuoi invece avere le tabelle devi usare una query SQL...
Bye
-
Cmq... ecco lo script:
<?php
$db = mysql_connect($db_host, $db_user, $db_password) or die ("Errore nella connessione");
$result = mysql_list_tables($db_name);
echo '<select name="liste">';
while ($row = mysql_fetch_row($result)) {
echo "<option value=\"$row[0]\">$row[0]</option>";
}
echo '</select>';
?>
-
se devi prendere i dati contenuti in una tabela allora non credo sia giusto manco lo script sopra (quello mi sembra serva ad elencare i nomi delle tabelle presenti nel DB). pre prendere il contenuto fai cosi:
$sel = mysql_query("SELECT * FROM nome_tabella");
while ($arr = mysql_fetch_array($sel)) {
echo $arr[nomecampo1]."<br>".$arr[nomecampo2];
}
se non ti è chiaro qualcosa o devi fare quacosa di più complesso (tipo selezionare solo le righe con determinate condizioni) chiedi pure
fammi sapere