Liste deroulantes avec base de donnée mysql [Résolu]

Signaler
Messages postés
53
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
7 avril 2006
-
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
-
Bonjour a tous, voila je tente de realiser un site la et j'aimerais savoir comment faire pour afficher sous liste déroulantes cette requete: SELECT 'username' FROM 'user_table', ma base de donnée est une mysql merci d'avance ( c'est assez urgents sniff )

34 réponses

Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
Hello le Catalan,



moi, je te conseillerais deja de jeter un oeil a quelques tutos...parce
que la...c'est du basique. Ca va etre du bricolage et tu seras
toujours dependant des reponses dans le forum si tu n'apprends pas
d'abord a programmer un tantinet.



Bref, une liste deroulante en html c'est :



<select name="nom" class="classe_css">

<option value="valeur1">option1</option>

<option value="valeur2">option2</option>

</select>



Pour recuperer une requete en php :

$requete = mysql_query ("SELECT 'username' FROM 'user_table'"); // requete

while ($resultat = mysql_fetch_assoc ($requete)) { // on boucle sur la requete pour chercher tous les enregistrements

echo 'Nom utilisateur : ', $resultat['username']; // on affiche

}



Donc, on fait une boucle.

Ta liste devra etre dans ta boucle evidemment, pour que chaque <option> correspondent a un utilisateur... :



<select name="nom" class="classe_css">

<?php

$requete = mysql_query ("SELECT 'username' FROM 'user_table'");

while ($resultat = mysql_fetch_assoc ($requete)) {

echo '<option value="',$resultat['username'],'">',$resultat['username'],'</option>';

}

?>

</select>



Mais je te conseille de recuperer aussi l'id utilisateur, dans ta
table, si tu en as un, et le mettre dans value="" plutot que d'utiliser
le nom, ca evitera bien des emmerdes...(un id en general est un entier
: regarde clefs primaires
Messages postés
53
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
7 avril 2006

ok merci malamam, oui j'ai un id dans ma table justement il faut que je l'utilise c'est pour effectuer une sélection
Messages postés
53
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
7 avril 2006

C'est bon ca marche impec merci beaucoup ;) maintenant j'aimerais bien récupérer l'id si possible ??? stp pour pouvoir effectuer une deuxieme requête qui serait du style: SELECT * FROM 'user_table' WHERE id=4
et donc l'id 4 serait récuperer par la liste deroulante
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
non pas de select *, jamais!!! lol, il ne faut pas, c'est mal...

SELECT 'username', 'id' FROM 'user_table'

tout simplement.
Messages postés
53
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
7 avril 2006

a d'accord mais tu ne m'as pas dit comment recuperer l'id par la liste déroulante :( lol
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
echo '<option value="',$resultat['id'],'">',$resultat['username'],'</option>';
Messages postés
53
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
7 avril 2006

ok merci ;) tiens je te mets mon script pour que tu vois mieu:

<?
$id=mysql_connect("localhost","root","root");
$retour=mysql_select_db("bugtracker");
?>
<select name="nom" class="classe_css">
<?php
$requete = mysql_query ("SELECT `username` , `id` FROM `mantis_user_table` ");
while ($resultat = mysql_fetch_assoc ($requete)) {
echo '<option value="',$resultat['id'],'">',$resultat['username'],'</option>';
}
?>
</select>

<?
$demande="SELECT * FROM `mantis_planning WHERE `handler_id`=$resultat['id']";
$result=mysql_query($demande);
$champs = mysql_num_fields($result);
$lignes = mysql_num_rows($result);
?>
<table border=YES WIDTH=400 BGCOLOR=#FFFFF0>

<tr BGCOLOR=#6699CC><td>ID</td><td>Nom</td><td>Date</td><td>Mois</td><td>Code activité</td><td>Bug_id</td><td>Commentaire</td></tr>

<?
echo "

";
while($row = mysql_fetch_row($result)){
$i=0;

echo "<tr>";
while ($i < $champs){
echo "<td>$row[$i]</td>";
$i+=1;

}



echo "</tr>";

}
mysql_free_result($result);
?>

tu vois en fait a partir de l'id recuperer dans la liste deroulante, je veux afficher sous forme de tableau la tous les champs de la table planning ou il y a l'id mais ca ne marche pas lol
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
Normal, apres soumission d'un formulaire (avec un bouton submit...tu devrais VRAIMENT lire des tutos sur les formulaires et php lol...), on recupere les valeurs soumises avec $_POST['nom_de_l_input'].


En l'occurence tu auras ton id dans $_POST['nom'], la, puisque c'est le nom (c'etait un exemple hein lol) de ton select.


Ensuite un formulaire doit commencer par sa declaration :


<form method="post" action="nom de la page traitant le formulaire">


formulaire


</form>


Dans action, si tu comptes traiter les donnees sur la meme page, tu peux mettre :


action="<?php echo $_SERVER['PHP_SELF']; ?>"


Ensuite, il faut un bouton submit...


Puis tester le bouton submit et le select...


Puis traiter (ah, tu croyais que c'etait facile hein??)


Lis ca stp : http://www.phpdebutant.org/article56.php
Messages postés
53
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
7 avril 2006

lool ok ok bah merci je v voir ton lien et jte tiens au courant de mes exploits mdr merci beaucoup deja ;)
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
Ben c'est un peu long a expliquer ici alors bon...si tu as toute la base a voir...autant suivre un petit tuto :-)

Et il y en a de tres simples sur le lien que je t'ai donne. Ca te permettra de comprendre le mecanisme. Essaye de faire ton formulaire avec tout ce qu'il faut, puis reviens avec ton code quand tu as un probleme precis :-) Ce sera plus efficace. Et plus facile pour t'aider! Bon courage ;-)
Messages postés
53
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
7 avril 2006

merci ;) tiens justement je pense avoir terminer la page ou j'offre la sélection peux tu me dire si elle est juste ??? ensuite il faut que je fasse la page verif.php, mais jaimerais au moin savoir si je pars sur une bonne base stp ;)

<?
$id=mysql_connect("localhost","root","root");
$retour=mysql_select_db("bugtracker");
?>

<html>
<form method="post" action="verif.php">
<select name="nom" class="classe_css">
<?php
$requete = mysql_query ("SELECT `username` , `id` FROM `mantis_user_table` ");
while ($resultat = mysql_fetch_assoc ($requete)) {
echo '<option value="',$resultat['id'],'">',$resultat['username'],'</option>';
}
?>
</select>

</form></html>
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
c'est treeees bien lol. Mais il faut que tu mettes un attribut name="...ce que tu veux..." a ton submit. Pour les tests apres. phpdebutant ne le fait peut-etre pas mais leur tuto est incomplet et un peu vieux ;-)
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
Au passage, ca :class="classe_css">
c'etait juste au cas ou tu veuilles utiliser une css pour rendre ton select plus joli hein, t'en as pas besoin la.
Messages postés
53
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
7 avril 2006

oui voila c'est ce qui me chagrinait lol, alors attend que je recapitule , il faut que j'ajoute un name='id' ( c l'id que je veux recup )mais ou ca? jsui un peu perdu la :(
et ya pa de input type a mettre? je sais pas si jdois en mettre un comme ici c'est pas l'utilisateur qui le tape au clavier c'est fait par liste deroulante :(
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
Non non, tu mets ce que tu veux pour le nom, aucun rapport avec la recuperation de l'id. Ce que tu veux recuperer doit etre dans les value="" de tes champs du formulaire.
LA en l'occurence, tu vas recuperer l'id correspondant au username que tu auras choisi dans le formulaire :
echo '<option value="',$resultat['id'],'">',$resultat['username'],'</option>';

la valeur de chaque option de ta lioste est egale a l'id correspondant au username qui y est ecrit.
Messages postés
53
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
7 avril 2006

a d'accord jcomprends un ti pe mieu la lol, alors si en partant de ce script :

<?
$id=mysql_connect("localhost","root","root");
$retour=mysql_select_db("bugtracker");
?>

<html>
<form method="post" action="verif.php">
<select name="nom" class="classe_css">
<?php
$requete = mysql_query ("SELECT `username` , `id` FROM `mantis_user_table` ");
while ($resultat = mysql_fetch_assoc ($requete)) {
echo '<option value="',$resultat['id'],'">',$resultat['username'],'</option>';
}
?>
</select>

</form></html>

que faut il que je rajoute sur cette page ??? jsui perdu la :(
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
=>



ce sera pour plus tard lol.
A part ca, c'est tout, a priori...
Messages postés
53
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
7 avril 2006

ok ok donc mon script devient ca lol :

<?
$id=mysql_connect("localhost","root","root");
$retour=mysql_select_db("bugtracker");
?>

<html>
<form method="post" action="verif.php">
<select name="nom" class="classe_css">
<?php
$requete = mysql_query ("SELECT `username` , `id` FROM `mantis_user_table` ");
while ($resultat = mysql_fetch_assoc ($requete)) {
echo '<option value="',$resultat['id'],'">',$resultat['username'],'</option>';
}
?>
</select>

</form></html>

et donc maintenant je vais bosser sur la page verif.php ;) merci de ton aide je vais essayer dme débrouiller lol faut que jarrete de tembeter :p merci beaucoup si jamais j'ai des probs jte dirais loool ;)
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
Je t'en prie :-)

mais reviens, faudra que je te parle du nom du submit, pourquoi et tout...parce que ce n#est pas precise sur phpdebutant et que a mon sens, c'est une erreur.
Messages postés
53
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
7 avril 2006

aie probleme lol j'ai donc une page ki a le script ci dessu et g fair ma pagz verif.php qui est :

<?php
// on se connecte à MySQL
$db = mysql_connect('localhost', 'root', 'root');
// on sélectionne la base
mysql_select_db('bugtracker',$db);
// on recupere l'id du formulaire
$id = $_POST['submit'];
// on crée la requête SQL
$sql = "SELECT * FROM `mantis_planning` WHERE `handler_id`=$id";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
{
// on affiche les informations de l'enregistrement en cours
echo ' '.$data['id'].' '.$data['nom'].' ('.$data['date'].')';

}
// on ferme la connexion à mysql
mysql_close();
?>

le probleme est que ici îd = OK, je n'ai donc pas recuperer l'id :( lol