Liste déroulante dynamique [Résolu]

JGRATIER 2 Messages postés lundi 6 avril 2009Date d'inscription 1 octobre 2009 Dernière intervention - 30 sept. 2009 à 20:08 - Dernière réponse : Tonio_35 567 Messages postés mercredi 4 octobre 2006Date d'inscription 30 août 2011 Dernière intervention
- 1 oct. 2009 à 12:50
Bonjour,
je vous explique mon problème:
Je voudrai afficher dans une liste déroulante toutes les lignes d'une des colonnes de ma table sql. j'arrive à afficher mais le problème c'est qu'il me créer une liste déroulante pour chaque ligne de la colonne. Donc je me retrouve avec plein de liste déroulante.
voici le code :

<html>
<link rel="stylesheet" href="style.css" type="text/css" media="screen" />






<dt>Sélection des sites :</dt>


<?php

mysql_connect(\"localhost\",\"root\",\"toor\");
mysql_select_db(\"imprimantes\");$reponse mysql_query(\"SELECT FROM IMP\"); // Requête SQL

while ($donnees = mysql_fetch_array($reponse) )

{

?>
<FORM>

<SELECT name=\"nom\" size=\"\">

<OPTION><?php echo $donnees['SITES']; ?>
</SELECT>
</FORM>
<?php
}

mysql_close(); // Déconnexion de MySQL
?>



[ajout.php Ajouter un site ]

</center>


</html>


Merci pour votre aide ( je débute en php )
Afficher la suite 

3 réponses

Répondre au sujet
Tonio_35 567 Messages postés mercredi 4 octobre 2006Date d'inscription 30 août 2011 Dernière intervention - 1 oct. 2009 à 09:02
+3
Utile
Bonjour,

Tout d'abord pour poster, essai d'utiliser les balises [code ] [/ code] afin qu'on y vois plus clair...

Ensuite regarde ce que tu as écrit :
<?php
// While veut dire, tant qu'il y a des lignes
// dans ma base de donnée, je fais ce qu'il y
// à entre les { }.
while ($donnees = mysql_fetch_array($reponse))

{
  // Donc comme tu le vois ici
  // Pour chaque lignes il va
  // repeter ce block de là
  // vvvvvvvvvvvvvvvvvvvvvv
?>
<FORM>

<SELECT name="nom" size="">

<OPTION><?php echo $donnees['SITES']; ?>
</SELECT>
</FORM>
<?php
  // ^^^^^^^^^^^^^^^^^^^^^^
  // A là
}


Or toi ton but, c'est de ne répéter que la balise <option> (Cette balise correspond à une ligne de ton select.

Second problème dans ce bout de code, tu vois que ta balise <option> est ouverte mais jamais fermée. Comme pour les autre balises il faut la fermer.

Je te laisse corriger avec ce que je t'ai dis.
Poste ta réponse ici, je la regarderais...

_________________________________
Min iPomme
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Tonio_35
JGRATIER 2 Messages postés lundi 6 avril 2009Date d'inscription 1 octobre 2009 Dernière intervention - 1 oct. 2009 à 11:34
0
Utile
Bonjour,
Merci pour votre aide.
J'ai modifier mon code pour que la boucle ne se fasse que pour la balise <option> je l'ai également fermer mais il ne m'affiche plus mes lignes dans ma liste déroulante .
Voici le code :

<?php


mmysql_connect("localhost","root","toor");
mysql_select_db("imprimantes");
$reponse = mysql_query("SELECT * FROM IMP")





?>
<FORM>

<SELECT name="nom" size="">
while ($donnees = mysql_fetch_array($reponse) )
{

<OPTION value=$donnees['SITES']><$donnees['SITES']; ?></option>
}
</SELECT>
</FORM>
<?php


mysql_close(); // Déconnexion de MySQL
?>

</table>


[ajout.php Ajouter un site ]

</center>


</html>
Commenter la réponse de JGRATIER
Tonio_35 567 Messages postés mercredi 4 octobre 2006Date d'inscription 30 août 2011 Dernière intervention - 1 oct. 2009 à 12:50
0
Utile
Si tu avais posté don code avec les balises [code ] [ /code] tu y aurais vu plus clair...

Quand tu met dans ta page du code php, il faut l'entourer de balises php <?php et ?>.

<select name="nom" size="">
while ($donnees = mysql_fetch_array($reponse) )
{

<option value=$donnees['sites']><$donnees['sites']; ?></option>
}
</select>

Comme tu le vois tu les à oubliées ici...

<select name="nom" size="">
<?php
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<option value="<?php echo $donnees['sites']; ?>"><?php echo $donnees['sites']; ?></option>
}
</select>

JE pense que tu devrais regarder les cours de php...

_________________________________
Min iPomme
Commenter la réponse de Tonio_35

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.