Liste déroulante - PHP/MySQL

Fermé
benur85 Messages postés 3 Date d'inscription lundi 16 novembre 2009 Statut Membre Dernière intervention 17 novembre 2009 - 16 nov. 2009 à 17:35
benur85 Messages postés 3 Date d'inscription lundi 16 novembre 2009 Statut Membre Dernière intervention 17 novembre 2009 - 17 nov. 2009 à 10:32
Bonjour,
Pas un expert de la programmation, je recontre quelques difficultés à réaliser une demande spécifique.
Je m'explique :
je souhaites, sur une page php, avoir une liste déroulante, avec pour choix les différentes bases de données de ma base MySQL.
En fait, j'ai une base SQL par "année", ce qui me permettrait, en sélectionnant la base que l'on souhaite, ensuite effectuer des opérations.

Pour le moment, j'ai réalisé une liste déroulante "en dur" (du html basique) qui renvoit ensuite vers les bases crées, mais je voudrais maintenant que cette liste soit "dynamique", a savoir que la liste serait en fonction des bases réelles.

J'ai donc trouvé, a droite a gauche, des bouts de script que j'ai adapté.

Malheureusement, mon soucis est que j'ai une liste "vide" : il n'y a aucun texte, donc que du blanc, pourtant je vois bien dedans 5 éléments (mes 5 bases), et si je rajoute une base, la liste rajoute bien une ligne, mais je n'ai aucun texte !

Si quelqu'un avait une idée, je vous passe ma page :

<?php $db = mysql_connect("localhost","moncompte","monmotdepasse"); ?>
<select name="liste">
<?php
$db_list = mysql_list_dbs($db);
while($row = mysql_fetch_array($db_list)){
echo'<option value=" '.$row[0].' ">'.$row[1].'</option>';
}
?>
</select>

Je pense que cela vient de mon "echo..." et donc des row, mais je n'ai pas bien compris les principes, à savoir que le row serait au final un tableau, mais dont j'ignore les champs...

Je vous remercie,
Nicolas
A voir également:

3 réponses

Meelas Messages postés 15 Date d'inscription lundi 19 octobre 2009 Statut Membre Dernière intervention 16 novembre 2009 7
16 nov. 2009 à 18:20
Salut,

En changeant ton $row = mysql_fetch_array par un $row = mysql_fetch_row, ça donne quoi?
0
benur85 Messages postés 3 Date d'inscription lundi 16 novembre 2009 Statut Membre Dernière intervention 17 novembre 2009
17 nov. 2009 à 09:39
Bonjour,

Tout d'abord, je vous remercie de la réponse !

Malheureusement, en changeant le $row = mysql_fetch_array par un $row = mysql_fetch_row, cela ne change strictement rien...

En revanche, j'ai testé ce script :
$db_list = mysql_list_dbs($db);
$i = 0;
$cnt = mysql_num_rows($db_list);
while ($i < $cnt) {
echo mysql_db_name($db_list, $i) . "\n";
$i++;
}
?>

Cela m'affiche bien le nom de mes bases, mais pas dans une liste déroulante comme je le souhaites, donc je ne peux pas interagir avec...

Merci encore,
Nicolas
0
benur85 Messages postés 3 Date d'inscription lundi 16 novembre 2009 Statut Membre Dernière intervention 17 novembre 2009
17 nov. 2009 à 10:32
Alors après plusieurs essais, et des mix de tout, cela fonctionne enfin !!

Si quelqu'un a le soucis :
$db_list = mysql_list_dbs($db); //retour la liste des bases de mysql
$i = 0;
$cnt = mysql_num_rows($db_list); //retourne dans $cnt le nombre de lignes que contient la liste des bases
?>
<select name="liste">
<?php
while ($i < $cnt ) {
echo '<option value="db.[$i].">'.mysql_db_name($db_list, $i).'</option>';
$i++;
}
?>
</select>


Je ne rencontre maintenant plus qu'un léger soucis, à savoir que je voudrai bien récupérer, en dessous, ma variable selectionné dans le tableau, si quelqu'un a une idée ?
0