[RESOLU] requetes jointes

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] requetes jointes

Re: [RESOLU] requetes jointes

par or 1 » 03 févr. 2020, 20:09

FROM article_relecteur, articles
mettre toutes les tables

article_relecteur.id_article=articles.id
le lien entre les tables

article_relecteur.id_membre = $id_membre
éventuellement une autre condition

Re: requetes jointes

par jp.bond » 03 févr. 2020, 20:05

merci beaucoup pour cette réponse rapide !
il y a juste une mini correction :
SELECT article_relecteur.*, articles.* FROM article_relecteur, articles WHERE article_relecteur.id_membre = $id_membre and article_relecteur.id_article=articles.id
mais à moi maintenant de décortiquer pour comprendre avec l'exemple comment le faire par moi meme la prochaine fois !

Re: requetes jointes

par or 1 » 03 févr. 2020, 19:20

SELECT article_relecteur.*, articles.* FROM article_relecteur, articles WHERE article_relecteur.id_membre = $id_membre and article_relecteur.id_article=articles.id_article

Re: requetes jointes

par jp.bond » 03 févr. 2020, 17:40

Donc ce que je veux lister, au final, c'est bien :

Code : Tout sélectionner

$sql1 = "SELECT * FROM articles"; $req1 = $pdo->query( $sql1 ); while ($enr1 = $req1->fetch()) {}
mais j'ai besoin de limiter cette liste seulement aux articles pour lesquels ont a défini un relecteur parmi les membres.

Code : Tout sélectionner

SELECT * FROM article_relecteur WHERE id_membre = 5
ce qui va peut etre me donner par exemple :
ID | ID_ARTICLE | ID_MEMBRE
1 | 4 | 5
3 | 6 | 5

requetes jointes

par jp.bond » 03 févr. 2020, 17:29

Bonjour,
j'ai vraiment du mal avec les requêtes jointes, je n'arrive pas à mettre en forme mon besoin pour ensuite le convertir en requête...
Je vous demande donc un coup de main...

j'ai une table membres, qui contient id, nom, prénom de mes membres
j'ai une table articles d'un coté, chaque article ayant un id
j'ai une table articles_relecteur d'un autre coté, qui liste les membres qui sont associés à un article (plusieurs membres peuvent être associés à un article, et un membre peut etre associé à plusieurs articles) : id / id_article (relié à la table articles) / id_membre (relié à la table membres)

Pour un membre donné, j'aimerai afficher la liste des articles auxquels il est associé :
en gros, je parcours la table articles_relecteur en ne gardant que les lignes associées à mon id_membre, puis j'affiche les articles qu'il reste, s'il en reste.

SELECT * FROM article_relecteur WHERE id_membre = $id_membre (que je connais) et je trouve ainsi l'$id_article de chaque ligne
SELECT * FROM articles WHERE id = $id_article pour chaque ligne trouvée

et c'est à l'étape suivante que je bloque... comment monter la requete jointe qui exprime mon besoin...

merci de votre aide !