cs_margin
Messages postés13Date d'inscriptionsamedi 5 février 2005StatutMembreDernière intervention 3 avril 2006
-
15 févr. 2005 à 01:33
cs_margin
Messages postés13Date d'inscriptionsamedi 5 février 2005StatutMembreDernière intervention 3 avril 2006
-
15 févr. 2005 à 11:31
Bonsoir,
Je n'arrive pas à trouver la syntaxe correcte pour écrire ma requete à la db mysql en version select mais avec jointure.
Je souhaite tester le resultat de chaque ligne avec la fonction LEFT()
pour vérifier la correspondance entre mon php et la bdd. Et c'est là où
est le pb d'écriture (voir souligné)
un exemple de mon code :
$resultat3=mysql_query("SELECT * FROM photo,mykey WHERE photo.idphoto=mykey.idphoto && '".$_POST["Form"]."'=photo.LEFT(Form,$longueur1)");
$nbresult2=mysql_num_rows($resultat3);
if (mysql_num_rows($resultat3)>='1'){
echo "existe";
}else{
echo "existe pas";
}
j'espère que vous aurez la réponse, merci d'avance de votre aide !
elnawak
Messages postés27Date d'inscriptionmercredi 3 septembre 2003StatutMembreDernière intervention21 février 2005 15 févr. 2005 à 10:55
salut, margin !
tout d'abord pour faire correspondre 2 tables
(ou plus)
il faut utiliser la syntaxe (INNER, RIGHT, LEFT) JOIN et pas pas faire la jointure dans la clause WHERE .
voila un bout de sql qui pourra t'aider :
SELECT * FROM photo INNER JOIN mykey ON photo.idphoto=mykey.idphoto
WHERE
'".$_POST["Form"]."'=photo.LEFT(Form,$longueur)
par contre ton LEFT() je
connais pas ... peut etre qu'il s'agit du LEFT JOIN ? (ce qui
correspond a tous les enregistrments de la table photos et seulement
ceux qui verifie la condition,
photo.idphoto=mykey.idphoto
, de la table
mykey )
si c'est ce que tu veux remplace INNER par LEFT et vire la clause WHERE. sinon dis moi ce que fais LEFT() .
cs_margin
Messages postés13Date d'inscriptionsamedi 5 février 2005StatutMembreDernière intervention 3 avril 2006 15 févr. 2005 à 11:31
Merci elnawak pour ta réponse,
c'est effectivement un début de réponse le INNER JOIN mais après avoir
tester pendant plusieurs heures voilà le résultat :
SELECT * FROM photo INNER JOIN mykey ON photo.idphoto=mykey.idphoto
WHERE
'".$_POST["Form"]."'=LEFT(Form,$longueur)
Et oui, dans le cas de l'usage d'une
fonction myqsl dans un SELECT sur plusieurs tables, il ne faut pas
mettre le nom de la table devant.
C'est naze, dire que j'ai cherché pendnat des heures pour ce genre de betise!