Remplir une liste déroulante avec le resultat d'une requete mysql

Soyez le premier à donner votre avis sur cette source.

Snippet vu 40 965 fois - Téléchargée 28 fois

Contenu du snippet

J'ai beaucoup cherché un code simple pour remplir une liste déroulante avec les resultats d'une requete dans mysql.
j'ai enfin trouvé solution à mon problème, de plus cette source permet la concaténation des résultats dans la liste.
ce code est "empilable" c'est à dire, que l'on peut le copier coller à la suite, pour faire plusieurs liste.

Source / Exemple :


//vous avez besoin d'un fichier conf.php
//contenu :

<?
// Serveur SQL
$host = "localhost";
// Login SQL
$user = "user";
// Mot de passe SQL
$password = "password";
// Nom de la base de donnee
$database = "nom";
//connection à la base de donnée
$mysql_link = mysql_connect($host, $user, $password);
  
?>

// fin du fichier de config

//contenu de votre fichier qui affichera la liste

<?php
// connection bdd + variable
require('conf.php');
    mysql_selectdb("article") or die("Connexion impossible");
?>
</td>
<td class="principal" width="273" height="106"> votre titre ici : </td>
</tr></table>
<form method="post" name="nom" action="">
  
<? 
// déclaration requete sql
	$query=mysql_query("SELECT un, deux, trois FROM table")
?>
<?	  
	echo('<select name="table">');
        if($produit==""){
    echo('<option value="'.'">'.'< Choisir >'.'</option>'); 
        }
        else
   {
    echo('<option value="'.'">'.'</option>');}
    	while ($ligne1=mysql_fetch_object($query)){ 
//la concatenation des champs se fait ici
    echo('<option>'.$ligne1->un. $ligne1->trois. $ligne1->deux.'</option>'); } 
	echo('</select>'); 
// fermeture de la base pour eviter les problèmes
mysql_close();

?>

Conclusion :


voilà, c pas bien compliqué, mais perso, j'ai perdu énormément de temps en tant que débutant pour arriver à faire ça correctement. j'espère que ça aidera quelqu'un !

A voir également

Ajouter un commentaire

Commentaires

SilverGames
Messages postés
36
Date d'inscription
samedi 14 décembre 2002
Statut
Membre
Dernière intervention
24 juillet 2006
-
Salut,
ça m'aide un peu... merci.
Onkgusd
Messages postés
27
Date d'inscription
mardi 29 juillet 2003
Statut
Membre
Dernière intervention
10 avril 2006
-
salut,
je pense que c'est plus simple ça :

<?
$res=mysql_query($requete);
while($ligne=mysql_fetch_row($res))
{
?>
<option><? echo $ligne[0].$ligne[1].$ligne[n] ; ?><option>
<?
}
?>
vivasentenza
Messages postés
4
Date d'inscription
vendredi 28 février 2003
Statut
Membre
Dernière intervention
9 mai 2005
-
Yo !
Merci du code, de visu c plus simple, c clair,
faut je test, pour voir si ya pas de surprises avec
l'utilisation que j'en fait !

bonne prog !
tanktrasher
Messages postés
8
Date d'inscription
lundi 8 décembre 2003
Statut
Membre
Dernière intervention
10 juin 2004
-
Merci pour cette source, nickel, ça va bien m'aider...
Onkgusd
Messages postés
27
Date d'inscription
mardi 29 juillet 2003
Statut
Membre
Dernière intervention
10 avril 2006
-
re salut tous,
je viens de penser à un truc à la con (c'est plus du html) : n'oubliez pas d'indiquer la value des options (<option value="<? echo $ligne[0] ; ?>"><? echo $linge[1].$ligne[2].$ligne[n] ; ?></option>)
@ +

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.