2011-03-17 4 views
1

.les gars comment puis-je remplir une liste déroulante avec la liste des tables d'une certaine base de données?populate dropdown avec la liste des tables

$db = mysql_select_db('thepillar'); 
$sql = "SHOW TABLES"; 
$result = mysql_query($sql); 
echo '<form method="post" id="try" action="pillar.php">'; 
echo 'Select Batch: '; 
echo '<select name="batch" id="batch">'; 
echo '<option>'; 
while($r = mysql_fetch_assoc($result)) 
{ 
    $tables = $r; 
echo '<option>'.$tables.'</option>'; 
} 

.i ont essayé le code ci-dessus, mais la liste déroulante est rempli uniquement avec le mot « Array » plusieurs fois selon le nombre de tables sont là dans la base de données.

.help pls!

+2

faites un 'print_r ($ tables)' à l'intérieur de la boucle et jetez un oeil à ce qui est retrivé de la DB =) – kjy112

Répondre

0

remplacer

$tables = $r; 

avec

$tables = $r['Tables_in_thepillar']; 

aussi vous avez un supplément echo '<option>';

au-dessus de la boucle

1
while($r = mysql_fetch_array($result)) 
{ 
    echo $r[0]."<br />"; 
} 
0

Votre $tables variable est un tableau associatif. Vous devez spécifier l'index du tableau que vous souhaitez afficher entre les balises <option>.

echo '<option>'.$tables['TABLE_NAME'].'</option>'; 

Voir la sortie print_r pour ce que le nom de l'index est.