Jointure et ligne vide
Résolu
cham33
-
cham33 -
cham33 -
Bonjour,
j'essaye de faire deux jointure entre plusieurs table , le problème est que parfois l'une des mes jointure peut ne contenir aucun résultat , du coup lorsque c'est le cas la requête entière se stop(?) et ne m'affiche plus rien (page vide).
mes jointures:
Si l'article n'a aucun commentaire, la deuxième jointure ne trouvera aucune ligne a la table article_statistique correspondant a l'ID de l'article, ça c'est logique. mais ce que je ne comprends pas c'est que le fait de n'avoir aucune ligne sur cette jointure me bloque toute la requête..
J'ai beau essayer de chercher comment contrer çà je ne trouve pas de solution....
merci d'avance pour votre aide.
j'essaye de faire deux jointure entre plusieurs table , le problème est que parfois l'une des mes jointure peut ne contenir aucun résultat , du coup lorsque c'est le cas la requête entière se stop(?) et ne m'affiche plus rien (page vide).
mes jointures:
$id = intval($_GET['id']); $article = $DB->query('SELECT article_texte,username,nombre_commentaire FROM article INNER JOIN users ON users.id = article_user_id INNER JOIN article_statistique ON stats_article_id = '.$id.' WHERE article_id = '.$id.' ');
Si l'article n'a aucun commentaire, la deuxième jointure ne trouvera aucune ligne a la table article_statistique correspondant a l'ID de l'article, ça c'est logique. mais ce que je ne comprends pas c'est que le fait de n'avoir aucune ligne sur cette jointure me bloque toute la requête..
J'ai beau essayer de chercher comment contrer çà je ne trouve pas de solution....
merci d'avance pour votre aide.
A voir également:
- Jointure et ligne vide
- Partager photos en ligne - Guide
- Supprimer page word vide - Guide
- Mètre en ligne - Guide
- Caractere vide - Guide
- Aller à la ligne excel - Guide
2 réponses
Salut,
Parce que tu n'as pas établi le lien entre article et article_statistique. Il ne faut pas utiliser $id mais article_id. Et si la requete peut ne rien ramener, il faut utiliser une jointure externe (outer join)
cdlt
Un étranger, c'est un ami qu'on n'a pas encore rencontré.
Parce que tu n'as pas établi le lien entre article et article_statistique. Il ne faut pas utiliser $id mais article_id. Et si la requete peut ne rien ramener, il faut utiliser une jointure externe (outer join)
LEFT OUTER JOIN article_statistique ON stats_article_id = article_id
cdlt
Un étranger, c'est un ami qu'on n'a pas encore rencontré.