Faire un select lie a mysql

Soyez le premier à donner votre avis sur cette source.

Snippet vu 8 123 fois - Téléchargée 28 fois

Contenu du snippet

J'ai tellement galere pour trouvé comment ca marche que je me suis dit qu'un debutant comme moi pouvait en avoir besoins. Dans les formulaires on a souvent besoins de faire des listes deroulantes, de plus certainne doivent aller recuper les informations directement dans une base de donnees (DB), c'est la que ca ce complique. Le code est commente, je ne suis pas un expert en php et mysql, loin de la, alors si j'ai dit des conneries, n'hesite pas a me le dire je corrigerais.

Source / Exemple :


<?php
// ----------------------------------------------------------------------
// Realisation d'un <select> avec une base de donnees
// Fait pas : KinKey
// Le : 01/09/2002
// ----------------------------------------------------------------------
// connexion a la base de donnees mysql ----------------------------------
	$db = mysql_connect($db_host, $db_user, $db_pass);  
	mysql_select_db($db_base, $db);                
// ----------------------------------------------------------------------
// requete pour la recuperation de nos valeurs --------------------------
	$query_select = "SELECT nom FROM user ORDER BY nom";
	$req_select = mysql_query($query_select) or die('Erreur SQL !'.$query_select.'<br>'.mysql_error());
// ----------------------------------------------------------------------
?>
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="select" method="post" action="votre fichier">
  <p>
    <select name="select">
      <option value="#" selected></option>
      <?php
	  
// boucle permetant le listage des valeurs et l'affichage -----------------	  
		while($select = mysql_fetch_array($req_select))
		{
		echo '<option value='.$select['id_user'].'>'.$select['nom'].'</option>';
		}
// ------------------------------------------------------------------------
// ------------------------------------------------------------------------
// Lorsque vous cliquez sur le bouton "Envoyer" en faites vous envoyez ce
// ce qui est dans <option value= >.
// ce que je n'est pas encore reussi a faire c'est que cela envoie le form
// des la selection.
// ------------------------------------------------------------------------

		?>
    </select>
  </p>
  <p>
    <input type="submit" name="Submit" value="Envoyer">
  </p>
</form>
</body>
</html>
<?php
mysql_close();      // on ferme la connexion 
mysql_free_result ; // liberation de la memoire si les donnees ne sont plus utile pour la suite
?>

Conclusion :


KinKey

A voir également

Ajouter un commentaire

Commentaires

Messages postés
13
Date d'inscription
vendredi 24 janvier 2003
Statut
Membre
Dernière intervention
28 mars 2007

pour envoyer le form dès la séléction faut juste rajouter dans la balise <SELECT onchange='document.select.submit();'>

j'arrive tjrs pas à faire le onchange c'est quoi le code exacte à mettre?
merci
Messages postés
172
Date d'inscription
samedi 11 août 2012
Statut
Membre
Dernière intervention
9 avril 2011

ok bon j ai ma solution

echo '<option value='.$select['id_user'].'>'.$select['nom'].'</option>';

par

echo '<option value="'.$select['id_user'].'">"'.$select['nom'].'"</option>';
Messages postés
172
Date d'inscription
samedi 11 août 2012
Statut
Membre
Dernière intervention
9 avril 2011

si tu as la solution je suis prenneur il ne me prend que le debut du select lors d un post donc si j ai comme toi 'le numero 1'
il n envoit que 'le'

trouve pas la soluce :(
Messages postés
13
Date d'inscription
vendredi 24 janvier 2003
Statut
Membre
Dernière intervention
28 mars 2007

j'ai trouvé le code marche niquel
encore merci KinKey
Messages postés
13
Date d'inscription
vendredi 24 janvier 2003
Statut
Membre
Dernière intervention
28 mars 2007

voilà j'ai un pb j'essai de faire un select depuis une base de donne sql ç marche mais quand j'essai de faire un post rien ne va plus!!!

ma page select.php

<?php include('bureau/inc/conflister.php');


$query_select = "SELECT id FROM pcfact_clients ORDER BY id";
$req_select = mysql_query($query_select) or die('Erreur SQL !'.$query_select.'
'.mysql_error());
// ----------------------------------------------------------------------
?>
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>


<form action="donne.php" method="post" name="form_add" id="form_add">

<select name="select" id="select">
<option value="#" selected></option>


<?php


// boucle permetant le listage des valeurs et l'affichage -----------------
while($select = mysql_fetch_array($req_select))
{
echo '<option value='.$select['id_user'].'>'.$select['id'].'</option>';
}


?>
</select>








</form>

</html>
<?php
mysql_close();
?>


ma page donne.php ou l'info de select deverai venir


<?php

$select = $_POST['select'];

echo "Numero: $select
";
?>



résultat: ç m'affiche numero et non numero 1 par exemple



merci pour vos réponses
Afficher les 12 commentaires

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.