|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : octobre 2007 Messages : 22 ![]() |
Bonjour,
Etant débutant j'ai quelque probleme avec ma requete de jointure et d'affichage. Voila déjà les tables: theme : ** - Id - Nom_theme - nbr_topic - nbr_mess topic : ** - Id - Nom_topic - ref_theme - nbr_mess Mon but c'est de pouvoir afficher ceci: Theme 1: liste des topic Theme 2: liste des topic etc etc J'ai donc penser à utiliser deux boucles imbriquées dont voici le code: Code :
Voila , mon problème arrive au niveau des ???. En réalité si j'enlève le where, il me met la totalité des topics dans chaque thème. Si je met une valeur fixe par exemple 1 ( qui correspond a l'Id du premier thème ) , il me met partout les topics du thème avec l'Id 1. J'ai donc pensé à mettre une variable, cependant ca ne marche pas. Apparemment il refuse les variables ou alors ma syntaxe n'etait pas bonne. J'ai pensé que l'idéal serait de mettre $donnees['Id'] à la place des ???. Cependant ça cause une erreur. Même en stockant cette valeur dans une autre variable genre $i, quand je met $i à la place des ??? j'ai également une erreur.. j'avoue ne plus savoir quoi faire. Mon algo est sans doute faux, je ne sais pas. need help, merci d'avance. Cordialement, Archalia |
||
|
|
00
|
|
|
#2 | ||||
|
Membre actif
![]() Inscription : octobre 2007 Messages : 157 ![]() |
J'aurai nommé différement les colonnes id en theme_id et topidc_id, j'aurai aussi nommé la colonne ref_theme en theme_id. Tout cela pour faciliter les jointures.
Ma requête devient unique et plus simple : Code :
Ensuite une seule boucle suffit. Code :
|
||||
|
|
00
|
|
|
#3 | ||||
|
Invité régulier
![]() Inscription : octobre 2007 Messages : 22 ![]() |
merci de ta réponse, je me rend compte que j'etais vraiment dans le faux.
Cependant j'ai encore un soucis. J'ai apporté les modifications que tu suggerais, seulement lorsque la requête s'execute voila ce que ca m'affiche: - INEX - - - Personnel - - - Général - - - - Intranet - - - sachant que les - correspondent bien au nombre de topic par theme donc c'est deja bien. le soucis c'est qu'il n'arrive pas à retrouver le valeur de $donnees['Nom_topic']. Ce qui est normal puisque la requete est : Code SQL :
Donc comment récupérer cette valeur ? cordialement Code :
voila mon code modifié si jamais |
||||
|
|
00
|
|
|
#4 |
|
Membre actif
![]() Inscription : octobre 2007 Messages : 157 ![]() |
Mes point de suspension correspondent à du code manquant, aussi bien dans le PHP que dans la requête. Dans la requête tu remplaces tous ces points par les colonnes que tu veux récuperer (séparée par des virgules) afin de pouvoir les récuperer dans ton tableau $donnees.
Au passage, pour le HTML, tu as les balises <dl>,<dt> et <dd> pour disposer les infos comme tu le désires. C'est mieux que des <br> et des tirets. |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : octobre 2007 Messages : 22 ![]() |
ha oki suffisait de rajouter la colonne, je pensais que j'allais devoir rajouter une requete...
alala quel noob je suis. Merci beaucoup, probleme résolu |
|
|
00
|
|
|
#6 |
|
Membre actif
![]() Inscription : octobre 2007 Messages : 157 ![]() |
On est tous passé par là. Mon premier emploi a d'ecrire des programmes pour Oracle alors que je ne connaissais pa un mot de SQL au moment de l'embauche.
|
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : octobre 2007 Messages : 22 ![]() |
heu une derniere petite question, je viens de remarquer ca.
Cette requete,boucle n'affiche pas les themes quand il n'y a pas de topic associé. J'ai beau avoir essayé de comprende pourquoi je n'y suis pas arrivé. Un moyen d'y remedier ? |
|
|
00
|
|
|
#8 | ||
|
Membre actif
![]() Inscription : octobre 2007 Messages : 157 ![]() |
La requetes doit etre plus complexe pour ca.
Code :
Avant d'afficher un topic, tu dois maintenant vérifier qu'il y en a bien un (si pas de topic associé, les champs correspondants on la valeur null). PS: la syntaxe SQL standard est LEFT OUTER JOIN, mais avec MySQL, OUTER est optionnel. |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com