Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Outils
Outils Forum d'entraide sur les outils pour MySQL. Avant de poster -> Outils MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/04/2007, 14h05   #1
Futur Membre du Club
 
Inscription : octobre 2006
Messages : 83
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 83
Points : 18
Points : 18
Par défaut Enregistrement qui ne s'affiche pas.

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."'";
$var2 étant une variable d'URL.

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 !
wylls est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2007, 14h37   #2
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
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)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2007, 16h07   #3
Futur Membre du Club
 
Inscription : octobre 2006
Messages : 83
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 83
Points : 18
Points : 18
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 !
wylls est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2007, 16h16   #4
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
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)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2007, 16h23   #5
Futur Membre du Club
 
Inscription : octobre 2006
Messages : 83
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 83
Points : 18
Points : 18
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 ?
wylls est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2007, 16h31   #6
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
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)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2007, 16h35   #7
Futur Membre du Club
 
Inscription : octobre 2006
Messages : 83
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 83
Points : 18
Points : 18
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.
wylls est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2007, 16h37   #8
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
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)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h32.


 
 
 
 
Partenaires

Hébergement Web