Titre: Affichage de mes données
Posté par: marygil le le 21-09-2009 a 07:37:58
Bonjour,
Je récupére et j'affiche sur ma page mes données en PHP issue de ma BDD.
Voici le code, mais je voudrais également afficher le select de ma liste déroulante de mon formulaire qui correspond à la valeur. Mon exemple affiche le nom et le prenom des membres "executant" mais il faudrait aussi que ça affiche l'instrument à qu'il joue.
C'est un peu compliqué mais si vous pouvez m'aider à m'expliquer, c'est très gentil à vous. Merci beaucoup
Code:
<?php $recup = mysql_query(" SELECT * FROM cruet_membre WHERE membre='Executant' ORDER BY nom, prenom"); while ($data = mysql_fetch_array($recup)) { echo $data['nom'] . " " . $data['prenom'] . " "; echo "<br>"; } ?>
|
|
|
Titre: Re:Affichage de mes données
Posté par: KB le le 21-09-2009 a 11:51:48
salut, je sais pas si j'ai bien compris ton probleme mais voila: ton select ressemble a ça: <select name="instrument"> <option value="trompette">Trompette</option> etc.. </select>
pour le php <?php echo $_POST['instrument']; ?> |
Titre: Re:Affichage de mes données
Posté par: marygil le le 21-09-2009 a 12:05:06
Bonjour et merci pour votre réponse. Ben en fait ça affiche dans un tableau le nom et prenom des membres executant via le code PHP de mon premier post. Jusqu'à là c'est bon Mai je voudrais ajouter également le nom de l'instrument que chaque membre joue. En fait voici la fonction javascrip et mon formulaire qui correspond Merci de votre aide
Code:
function modif() { document.getElementById('listepupitre').innerHTML="<select name=user_pupitre><option></option><option value=Saxophone>Saxophone</option><option value=Porte_drapeau>Porte_drapeau</option><option value=Chef_de_musique>Chef_de_musique</option><option value=Cor>Cor</option><option value=Trompette_de_cavalerie>Trompette_de_cavalerie</option><option value=Clairon>Clairon</option><option value=Basse>Basse</option><option value=Percussion>Percussion</option><option value=Tambour>Tambour</option></select>"; } <form id="formulaire" action="" method="post" onkeypress="refuserToucheEntree(event);"> <tr> <td>Pupitre :</td> <td><div id=listepupitre> <select name="user_pupitre" disabled=""> <option class="first" value="<?php echo @$rows->pupitre ?>"><?php echo @$rows->pupitre ?></option> </select> <input type=button value=modif onclick="modif1()"></div></td> </tr> </form>
|
|
|
Titre: Re:Affichage de mes données
Posté par: KB le le 21-09-2009 a 15:15:08
si je suis bien le raisonnement, tu veux que lorsque l'on sélectionne quelqu'un dans le premier <select>, un deuxième <select> s'affiche avec la liste des instruments? si c'est"juste" ça (les deux select ne sont pas directement liés), il suffit de mettre cette liste dans ton code et de lui attribué un display:none. Puis, au clic, modifier le display=block.
Si au contraire, les 2 select sont liés, il faut utiliser l'ajax.
a noter: une erreur est présente dans ton code: ta fonction s'appelle modif() et tu l'appel onclick="modif1()"
|
Titre: Re:Affichage de mes données
Posté par: marygil le le 21-09-2009 a 15:29:59
Merci de ton aide et pour mon erreur. je pense que je me suis mal expliquer c'est pas simple certaines explications.
en fait je pense que c'est un problème de requete et non de select.
Voilà j'ai un formulaire ou je rentre toutes les infos des membres. Jusque là pas de soucis. Mais sur ma page qui affiche tous les membres c'est à dire non prénom et membres, je voudrais que ça affiche aussi l'instrument qu'il joue en sachant qu'il a juste 1 instrument par membre, ci dessous la requete qui affiche les données des membres que je souhaite mais il faudrait aussi que ça affiche l'instrument qu'il joue.
Merci de votre aide
Code:
<table id="musicien" style="display:inline" > <tr> <td> <center> <div style='background: #E0FFFF; padding: 3px;'><b><?php echo $executant; ?> <u>Exécutant</u></b> </div> </center> <br> <?php $recup = mysql_query(" SELECT * FROM cruet_membre WHERE membre='Executant' ORDER BY nom, prenom"); while ($data = mysql_fetch_array($recup)) { echo $data['nom'] . " " . $data['prenom'] . " "; echo "<br>"; }
|
|
|
Titre: Re:Affichage de mes données
Posté par: KB le le 21-09-2009 a 19:58:32
| bah je vois pas ou est le probleme alors! si tu as réussi a afficher le nom et prenom, tu fais pareil pour l'instrument. (par exemple $data['instrument'] ) !!! |
Titre: Re:Affichage de mes données
Posté par: marygil le le 21-09-2009 a 22:05:53
Bonjour et grand merci.
Je suis nul complétement nul .................... Pas vraiment réfléchi c'était pourtant simple. Ca m' apprendra à faire un peu plus de réflexion.
Merci encore |
Titre: Re:Affichage de mes données
Posté par: marygil le le 22-09-2009 a 06:47:21
Bonjour,
Suite à ma requéte ci-dessous que vous m'avez bien aidé, je voudrais pouvoir supprimer les doublons. Pour certains nom il y a deux fois le même instrument et je voudrais qu'il s'affiche juste une fois. J'ai essayé GROUP BY pupitre ça me supprime également les noms qui correspondent. Merci encore
Code:
<?php $recup = mysql_query(" SELECT * FROM cruet_membre WHERE membre='Executant' ORDER BY nom, prenom"); while ($data = mysql_fetch_array($recup)) { echo "<ol> " . $data['pupitre'] . "</ol>" ; echo "<li> " . $data['nom'] . " " . $data['prenom'] . "</li> " ; } ?>
|
|
|
Titre: Re:Affichage de mes données
Posté par: KB le le 22-09-2009 a 10:13:42
en ce moment tu as:- trompette ----nom1 - trompette -----nom2 -saxophone -----nom3 etc... et toi ty veux: -trompette ----nom1 ----nom2 -saxophone ----nom3 |
|
C'est bien ça? tu dois donc d'abord lister les instrument comme tu as fait, puis refaire une requete pour les nom associé au sein de ta premiere boucle. exemple:$recup = mysql_query(" SELECT * FROM cruet_membre WHERE membre='Executant' ORDER BY nom, prenom" GROUP BY pupitre); while ($data = mysql_fetch_array($recup)) { echo "<ol> " . $data['pupitre'] . "</ol>" ; $recup2 = mysql_query(" SELECT * FROM cruet_membre WHERE membre='Executant' and pupitre='" . $data['pupitre'] . "' ORDER BY nom, prenom" GROUP BY nom); while ($data2 = mysql_fetch_array($recup2)){ echo "<li> " . $data2['nom'] . " " . $data2['prenom'] . "</li> " ; } |
|
y'a peut etre des petites erreurs mais l'idée est là.
|
Titre: Re:Affichage de mes données
Posté par: marygil le le 23-09-2009 a 05:15:25
Bonjour et merci pour votre réponse.
Je n'arrive pas à trouver l'erreur pourtant votre requéte me paraissait bien. Si vous pouvez m'aider encore s'il vous plait.
Code:
<?php $recup = mysql_query(" SELECT * FROM cruet_membre WHERE membre='Executant' ORDER BY nom, prenom GROUP BY pupitre"); while ($data = mysql_fetch_array($recup)) { echo "<ol> " . $data['pupitre'] . "</ol>" ; } $recup2 = mysql_query(" SELECT * FROM cruet_membre WHERE membre='Executant' and pupitre='" . $data['pupitre'] . "' ORDER BY nom, prenom GROUP BY nom"); while ($data2 = mysql_fetch_array($recup2)) { echo "<li> " . $data2['nom'] . " " . $data2['prenom'] . "</li> " ; } ?>
|
|
L'erreur que ça donne c'est:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\wamp\www\cliquedecruet\pages\musicien.php on line 109
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\wamp\www\cliquedecruet\pages\musicien.php on line 118
Sinon moi j'avais mis un DISTINCT PUPITRE à select
Code:
<?php $recup = mysql_query(" SELECT DISTINCT pupitre FROM cruet_membre WHERE membre='Executant' ORDER BY pupitre, nom, prenom"); while ($data = mysql_fetch_array($recup)) { echo "<ol> " . $data['pupitre'] . "</ol>" ; echo "<li> " . $data['nom'] . " " . $data['prenom'] . "</li> " ; } ?>
|
|
ça m'affiche bien 1 seule fois les instruments là c'était bon mais ça n'affichait pas les nom des membres executants
Merci |
Titre: Re:Affichage de mes données
Posté par: Lilian le le 23-09-2009 a 08:18:13
Bonjour,
Pour débugguer tu peux utiliser PhpMyAdmin qui te dira où se situe exactement l'erreur. |
Titre: Re:Affichage de mes données
Posté par: marygil le le 24-09-2009 a 07:19:36
Bonjour,
J'ai vraiment essayé de comprendre mais en vain, je n'y arrive pas. pouvez-vous essayer de m'aider encore. En vous remerciant d'avance Merci |
Titre: Re:Affichage de mes données
Posté par: marygil le le 24-09-2009 a 10:15:07
Bonjour,
L'ordre des requète n'était pas bon j'ai mis GROUP BY avant ORDER BYE et là ça m'affiche que les instruments et pas les noms. Merci de votre aide |
Titre: Re:Affichage de mes données
Posté par: KB le le 24-09-2009 a 10:26:47
| et quel erreur cela affiche? |
Titre: Re:Affichage de mes données
Posté par: marygil le le 24-09-2009 a 11:13:51
aucune erreur ça affiche 1 seul fois les instruments donc c'est impec et ça affiche pas les nom et prenom
Merci |
Titre: Re:Affichage de mes données
Posté par: KB le le 24-09-2009 a 11:28:52
| afin de voir ou ça en est, tu me redonne le code stp. On doit pas etre loin du but ! |
Titre: Re:Affichage de mes données
Posté par: marygil le le 24-09-2009 a 11:39:02
Code:
<?php $recup = mysql_query(" SELECT * FROM cruet_membre WHERE membre='Executant' GROUP BY pupitre ORDER BY nom, prenom"); while ($data = mysql_fetch_array($recup)) { echo "<ol> " . $data['pupitre'] . "</ol>" ; } $recup2 = mysql_query(" SELECT * FROM cruet_membre WHERE membre='Executant' and pupitre='" . $data['pupitre'] . "' GROUP BY nom, prenom ORDER BY nom, prenom"); while ($data2 = mysql_fetch_array($recup2)) { echo "<li> " . $data2['nom'] . " " . $data2['prenom'] . "</li> " ; } ?>
|
|
|
Titre: Re:Affichage de mes données
Posté par: KB le le 24-09-2009 a 12:47:03
<?php $recup = mysql_query(" SELECT * FROM cruet_membre WHERE membre='Executant' GROUP BY pupitre ORDER BY nom, prenom"); while ($data = mysql_fetch_array($recup)) { echo "<ol> " . $data['pupitre'] . "</ol>" ;
$recup2 = mysql_query(" SELECT * FROM cruet_membre WHERE membre='Executant' and pupitre='" . $data['pupitre'] . "' GROUP BY nom, prenom ORDER BY nom, prenom"); while ($data2 = mysql_fetch_array($recup2)) { echo "<li> " . $data2['nom'] . " " . $data2['prenom'] . "</li> " ; } } La deuxieme requete doit etre dans la premiere boucle !! ?>
|
|
|
Titre: Re:Affichage de mes données
Posté par: marygil le le 24-09-2009 a 15:49:49
Bonjour
maintenant ça avance à petit pas................
en fait ça m'affiche ceci
trompette nom1 clarinette nom2
alors qu'il y a nom3, nom4 nom5 etc
ça devrait être ceci
trompette nom1 nom2 nom3 nom4 clarinette nom5 etc
Merci de ta patience |
Titre: Re:Affichage de mes données
Posté par: marygil le le 24-09-2009 a 17:49:28
Rebonjour
Ca y est c'est gagné impeccable il fallait simplement supprimer GROUP BY nom et prenom dans la deuxième requéte.
Merci beaucoup |
Titre: Re:Affichage de mes données
Posté par: marygil le le 30-09-2009 a 20:34:36
Bonjour et merci de votre aide à tous. Mon problème est résolu Merci |
Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.
|