|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Inscription : octobre 2006 Messages : 83 ![]() |
Bonjour,
Je suis completement perdu.... Je fais une requete toute bête : Code :
$query_produit2 = "SELECT book.id, book.ref, book.art_de_base, book.description, book.surface, book.condi, book.lien, test2.photo FROM book INNER JOIN test2 ON book.id = test2.cle WHERE book.lien = '".$var2."'"; Le résultat est incomplet, il me manque un enregistrement quand je teste la page. J'ai beau changer la colonne pour le test, et il me manque toujours le même enregistrement. Et même si je fait un test en faisant le WHERE sur l'id de l'enregistrement, ça marche pas non plus. A votre avis, le problème vient de la requête, de l'enregistrement, ou ça serait du côté de PHP qu'il faudrait voir ? Merci d'avance en tout cas ! |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
En effet en mettant le code PHP du traitement ça pourrait aider à y voir plus clair.
Pour voir si la requête se banane ou pas tu peux la tester simplement dans phpmyadmin si tu es sous easyphp.
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace. Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h) |
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Inscription : octobre 2006 Messages : 83 ![]() |
Merci pour ta réponse,
Je pense savoir pourquoi ça ne marchait pas, car l'enregistrement qui ne s'affichait pas avait un champ vide (le seul champ de la base test2 que j'utilisait avec INNER JOIN). Car si je simplifie ma requete en supprimant la jointure, l'enregistrement s'affiche. Est ce que c'est normal que l'enregistrement ne s'affiche pas si celui ci comporte un champ vide venant de la deuxième base avec laquelle ou a utilisé INNER JOIN ? Je sais pas si je suis très clair ? Si oui, merci d'avance pour vos réponses ! |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
Si tu as un book.id qui ne correspond à aucun test2.cle oui tu n'auras rien (je sais pas si c'est ce que tu veux dire dans ton précédent post). Pour avoir absolument tous les book.id même ceux auxquels ne correspond aucun test2.cle il faut faire une jointure externe à gauche avec LEFT OUTER JOIN au lieu du simple INNER JOIN.
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace. Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h) |
|
|
00
|
|
|
#5 |
|
Futur Membre du Club
![]() Inscription : octobre 2006 Messages : 83 ![]() |
Merci pour ta réponse,
Je pense que je n'ai pas été assez clair En fait book.id a bien une correspondance avec test2.cle, il n'y a pas de probleme. Le probléme est que le champ photo de la colonne test2.cle est vide pour cet enregistrement, et je pense que c'est à cause de ça qu'il ne s'affichait pas. C'est plus clair ? |
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
Oui en effet ma réponse n'était pas adaptée
Donc je vais reposer ce que j'avais dit en premier : as-tu testé la requête dans phpmyadmin si tu es sous easyphp pour voir si le souci vient de là (je ne pense pas). Sinon peux-tu donner le code du traitement ?
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace. Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h) |
|
|
00
|
|
|
#7 |
|
Futur Membre du Club
![]() Inscription : octobre 2006 Messages : 83 ![]() |
Bon je viens de TOUT comprendre, et finalement ta réponse de tout à l'heure était adpatée !
Je viens d'apprendre à l'instant que ma base test2 n'était pas forcement compléte.... Et donc, la jointure faisait le lien avec des enregistrement qui n'existait pas dans la base ! J'aurais du commencer par là ! Bref, je suis désolé pour le dérangement... Mais au moins ça veut dire que ce que je faisias était bon ! Encore merci. |
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
Bon courage pour la suite
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace. Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h) |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com