Vous n'êtes pas identifié(e).
Bonjour,
C'est encore moi !
Bon voilà:
J'ai une page qui affiche la liste des poèmes présents (table themedumois), suivi du nombre de commentaire reçu pour chaque poème (table commentaires2)
J'ai fait jusqu'à présent requête suivante avec jointure qui fonctionne parfaitement:
SELECT themedumois.id, themedumois.titre, themedumois.poeme, themedumois.auteur, themedumois.datedupoeme, themedumois.theme, themedumois.miseenpage, themedumois.liencomment, themedumois.valid, count(commentaires2.id) as nbr
FROM themedumois
LEFT JOIN commentaires2
ON commentaires2.idpoeme = themedumois.id AND tablepoeme="themedumois"
WHERE theme ="'.$theme.'" AND valid=1
GROUP BY themedumois.id
ORDER BY id DESC
J'aimerais faire une troisième jointure avec la table des membres (pdf_membre) pour vérifier que le statut du membre n'est pas 8 (statut inactif)
le champs statut de ma table pdf_membre s'appelant statut
mais alors là, ça dépasse mes compétences, même si je pense que ce ne doit pas être si inaccessible,
quelle type de jointure dois-je choisir et à quel endroit ?
Merci d'avance
ERIC
Hors ligne
Petite précision, le but est d'exclure les poèmes dont les membres ont le statut 8
Hors ligne
Saluton,
Il faudrait nous dire entre quelles tables tu veux faire la jointure et sur quelle(s) colonne(s) elle s'opère
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Je vois que je n'ai pas été assez clair (car j'avais tout dit dans le premier message)
Table 1: themedumois (table contenant tous les poèmes envoyés par les membres)
Champs: id, titre, poeme, auteur, datedupoeme, theme, miseenpage, liencomment, valid
Table 2: commentaires2 (table contenant les commentaires laissés sur les poèmes, avec comme lien idpoeme correspondant à id de la table themedumois du poème concerné)
Champs: id, idpoeme, auteurpoeme, tablepoeme (ce champs permet d'indiquer si il s'agit de la table themedumois ou d'une autre), nom, auteur, email, texte, date
Table 3 pdf_membre (contenant tous les membres du site)
champs: idmembre, pseudo, passe, mail, confirm, nom, prenom, pays, naissance, site, presentation, citation, dateinscription, photo, statut, validdn
Je désire donc faire une dernière jointure, à partir du pseudo du membre qui a écrit le poème avec la table 3 pdf_membre, afin de vérifier que son statut est différent de 8
Hors ligne
Petite précision:
On a donc entre table 1 et 2 une jointure à partir de themedumois.id=commentaires2.idpoeme ; et une jointure entre les trois table avec themedumois.auteur=commentaires2.auteurpoeme=pdf_membre.pseudo
Hors ligne
A quoi te sert la colonne commentaires2.auteurpoeme ?
Dans le SAT (Schéma d'Accès Thérorique) aux données cette dépendance fonctionnelle aurait dû t'apparaître redondante, puisque tu peux accéder à l'auteur par la double jointure :
commentaires2.tablepoeme->themedumois.id
puis themedumois.auteur->pdf_membre.idmembre.
Mais j'ai comme l'impression que ton MPD (Modèle Physique des Données) est issu d'une démarche (MCD->MLD)* pas très nette.
Ce qui explique tes difficultés à écrire les jointures relationnelles.
* MCD (Modèle Conceptuel des Données) MLD (Modèle Logique des Données)
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
En fait, la structure relationnelle des trois tables devrait être :
commentaires2.idpoeme = (FK issue de themedumois.id)
commentaires2.auteur =(FK issue de pdfmembre.idmembre)
themedumois.auteur =(FK issue de pdfmembre.idmembre)
FK pour Foreign Key (clé étrangère)
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Coucou Kris,
lorsque je te lis, je me demande toujours si je suis bien sur PHPDEBUTANT ou AILLEURS, mais ce n'est pas déplaisant de lire des choses aussi précises.
Ma bdd a été faite à coup d'essai erreur, d'amélioration avec des ajouts manuels pour récupérer les bétises à hauteur de 1000 fois écrire le même truc sans savoir que je pouvais utiliser update pour un champs, etc...etc...
Je suis un vrai newbie qui n'a que très peu de connaissance et pas mal de bidouille....
Pour ce qui est de la colonne commentaires2.auteurpoeme, elle mes sert normalement à pouvoir récupérer dans la table pdf_membre le mail de l'auteur (car j'envoie automatiquement un mail à l'auteur du poème)
Mais effectivement, je peux y accéder autrement....
Il va donc falloir que je me penche sur les MPD, mais je ne crois pas que j'aurais le temps d'être assez callé dans ce domaine pour programmer ce que j'ai à faire...
Avant que je lance la nouvelle version du site, il est peut-être temps d'analyser ma bdd, mais là je vais avoir besoin d'un gros coup de main...
Hors ligne
lorsque je te lis, je me demande toujours si je suis bien sur PHPDEBUTANT ou AILLEURS, mais ce n'est pas déplaisant de lire des choses aussi précises.
au nom de quoi la rigueur et la précision ne devraient-elles pas être aussi un objectif de débutant ?
On prête à Spartacus le propos suivant :
la jeunesse est un défaut dont je me corrige chaque jour un peu
Inutile d'attendre d'être devenu une vieille barbe, comme moi, pour s'attacher à concevoir proprement les choses, on y gagne tellement en tranquillité d'esprit et en crédibilité.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Je ne critique pas la rigueur et la précision, je trouve juste que en fonction de mes besoins et de mes compétences, c'est un peu trop décalé
(en apprentissage on parle de décalage optimal, je ne sais pas si tu connais)
Pour ce qui est de tes infos, elles sont franchement les bienvenues, elles me permettent de réfléchir à des questions que je ne m'étais pas encore posées, et comme je te disais, il me faudrait de l'aide pour arriver à analyser ma bdd, puis à l'adapter à une nouvelle conception (si c'est réalisable)
Merci encore pour ton aide...
Hors ligne
comme je te disais, il me faudrait de l'aide pour arriver à analyser ma bdd, puis à l'adapter à une nouvelle conception (si c'est réalisable).
Mais ce forum est là pour ça, aussi, non ?
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne