Pb de recherche

Signaler
Messages postés
68
Date d'inscription
jeudi 11 mars 2004
Statut
Membre
Dernière intervention
23 mars 2007
-
Messages postés
14
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
28 septembre 2007
-
Je n'arrive pas a rechercher des infos dans ma base que je tire d'un formulaire, je dois avoir un pb de requete ou de syntaxe. Je vous montre mon code :

$reference = @$_POST['reference'];
$datecreation = @$_POST['datecreation'];
$nom_vend = @$_POST['nom_vend'];
$adr1_vend = @$_POST['adr1_vend'];
$adr2_vend = @$_POST['adr2_vend'];
$cp_vend = @$_POST['cp_vend'];
$ville_vend = @$_POST['ville_vend'];
...

$queryreference=(empty($reference)) ? "%" : $reference;
$querydatecreation=(empty($datecreation)) ? "%" : $datecreation;
$querynom_vend=(empty($nom_vend)) ? "%" : $nom_vend;
$queryadr1_vend=(empty($adr1_vend)) ? "%" : $adr1_vend;
$queryadr2_vend=(empty($adr2_vend)) ? "%" : $adr2_vend;
$querycp_vend=(empty($cp_vend)) ? "%" : $cp_vend;
$queryville_vend=(empty($ville_vend)) ? "%" : $ville_vend;
....

$voir = mysql_query("SELECTreference,datecreation,nom_vend,adr1_vend,adr2_vend,cp_vend,ville_vend,...,
FROM immo WHERE reference LIKE '$queryreference' AND datecreation LIKE '$querydatecreation' AND nom_vend LIKE '$querynom_vend' AND adr1_vend LIKE '$queryadr1_vend' AND adr2_vend LIKE '$queryadr2_vend' AND cp_vend LIKE '$querycp_vend' AND ville_vend LIKE '$queryville_vend' ... AND exclusivite LIKE '$queryexclusivite' AND visible LIKE '$queryvisible';");

merci de m'expliquer ce qui cloche dans mon code.

12 réponses

Messages postés
1250
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
30 septembre 2007
1
comme tout le monde, c'est permis de dire bonjour



qu'est ce que tu a comme erreur ?

tu est sur que ce n'est pas des OR a la place des AND dans ta requete ?



remplace les '$variable' par des '".$variable."'

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Salut,



plutôt que de mettre des @ vérifies la présence de tes variables avec isset()



a +

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
68
Date d'inscription
jeudi 11 mars 2004
Statut
Membre
Dernière intervention
23 mars 2007

bonjour, il faut des and dans ma requete et j'ai remplacé les variables par ce que tu ma di mais ca ne fonctionne pas je ne vois vraiment pas ce qui cloche. pour les isset je le fais pas car je sais pas le faire. Quand je fé un echo $voir ca me marque resource #id6 et je c pa ce que ca ve dire.
Messages postés
1250
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
30 septembre 2007
1
ben oui, c'est normal qu'il te mette
Resource id #6

le mysql_query ne fait que éxécuter la requete que tu lui donne !

pour recuperer les resultats de cette requete, tu fais par exemple :



....

$voir = mysql_query("SELECTreference,datecreation,nom_vend,adr1_vend,adr2_vend,cp_vend,ville_vend,...,
FROM
immo WHERE reference LIKE '$queryreference' AND datecreation LIKE
'$querydatecreation' AND nom_vend LIKE '$querynom_vend' AND adr1_vend
LIKE '$queryadr1_vend' AND adr2_vend LIKE '$queryadr2_vend' AND cp_vend
LIKE '$querycp_vend' AND ville_vend LIKE '$queryville_vend' ... AND
exclusivite LIKE '$queryexclusivite' AND visible LIKE
'$queryvisible';");


while($res = mysql_fetch_object($voir))

{

echo 'la reference est'.$res->reference.'
';

echo 'le vendeur est'.$res->nom_vend.'
';

}



voila, c'est peut etre de là que venait ton probleme


Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
Messages postés
1250
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
30 septembre 2007
1
euh

pour le isset quand meme !

if (isset($_POST['reference'])) $reference=$_POST['reference']; else $reference='';

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
Messages postés
68
Date d'inscription
jeudi 11 mars 2004
Statut
Membre
Dernière intervention
23 mars 2007

mon pb ne vient pas de la car ca je le fais est justement rien ne s'affiche donc on dirait que il n'y a rien dans le resultat de ma requete mais je vois pas pourquoi
Messages postés
1250
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
30 septembre 2007
1
ben, dans ce cas c bon

moi ce que je trouve louche, c'est que pour que tu ai un resultat, il
faut que tu ai tes 10 champs qui soit exactement bien rempli !!!


quand tu teste en dur ta requete dans phpmyadmin, est ce que ca marche ?

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
Messages postés
68
Date d'inscription
jeudi 11 mars 2004
Statut
Membre
Dernière intervention
23 mars 2007

justement il faut pas que tous les champs soit rempli. Quand je teste ma requete dans phpmyadmin le resultat est "votre requete a bien été effectué"
Messages postés
1250
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
30 septembre 2007
1
nan c'est pas ca que je veut dire !

dans ton code, fait un

echo "SELECTreference,datecreation,nom_vend,adr1_vend,adr2_vend,cp_vend,ville_vend,...,

FROM
immo WHERE reference LIKE '$queryreference' AND datecreation LIKE
'$querydatecreation' AND nom_vend LIKE '$querynom_vend' AND adr1_vend
LIKE '$queryadr1_vend' AND adr2_vend LIKE '$queryadr2_vend' AND cp_vend
LIKE '$querycp_vend' AND ville_vend LIKE '$queryville_vend' ... AND
exclusivite LIKE '$queryexclusivite' AND visible LIKE '$queryvisible';"

ca va normalement t'écrire ta requete avec tes variables remplacé par leur valeur

ensuite tu prend la requete et tu la test dans phpmyadmin

et la ce que je veut savoir c'est si elle te renvoi des resultats ?

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
Messages postés
68
Date d'inscription
jeudi 11 mars 2004
Statut
Membre
Dernière intervention
23 mars 2007

ba justement ca me réaffiche la requete puis ca me met "Votre requête SQL a été exécutée avec succès" et c tout pourtant il existe un tuple dans ma base de données qui correspond a la requete
Messages postés
1250
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
30 septembre 2007
1
ben dans ce cas ca vient de ta table ou de tes données !



donne aussi la requete pour qu'on puisse tester

donne le code de creation de ta base et une ou deux lignes donneront un

resultats avec la requete que tu fait !

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
Messages postés
14
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
28 septembre 2007

J'ai le même genre d'erreure si tu trouve la solution stp aide moi je BUGGGGGGGGGGGGGGG