ou ou personne ???
![]()
Dans un premier temps, je ne saisis pas bien l'intérêt d'utiliser LIKE alors que tu ne fais pas d'approximation, tu n'as pas de wildcard.
Ensuite, tu ne nous donnes pas la requête complète qui est envoyée à MySQL (en supposant que ce soit bien MySQL qui crise et non PHP, ce que tu ne précises pas non plus) : comment sommes-nous supposés t'aider ?
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework - Cours et tutoriels pour apprendre PHP - Forum PHP








moi je l'aurrais ecris comme ça
en ajoutant les acolades du while
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 $informations = @$_GET['informations']; $tableau = split (",", trim($informations)); while (list($key, $valinfo) = each($tableau)){ if ($valinfo != ''){ $query_search .= " AND ((products.departement LIKE '$valinfo') OR (products.ville LIKE '$valinfo') OR (products.codepostal LIKE '$valinfo'))"; } }
reski : dans le cas qui nous occupe, cela ne fait aucune différence. C'est préférable à plusieurs niveaux mais c'est équivalent.
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework - Cours et tutoriels pour apprendre PHP - Forum PHP
donc en faite avec se code, faire une recherche avec une seul donnée marche tres bien! mais avec plusieur données sa donne aucun résultat.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 $informations = @$_GET['informations']; $tableau = split (",", trim($informations)); while (list($key, $valinfo) = each($tableau)){ if ($valinfo != ''){ $query_search .= " AND ((products.departement LIKE '$valinfo') OR (products.ville LIKE '$valinfo') OR (products.codepostal LIKE '$valinfo'))"; } }
sa marche avec plusieur données dans le cas quels soit dans la meme résultat.![]()
Bien sûr puisqu'il faut qu'elles soient toutes présentes (cf. ton AND).
Je t'ai dit de mettre un OR, ce n'était pas innocent :/
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework - Cours et tutoriels pour apprendre PHP - Forum PHP
de cette facon, sa réagie comme si l'INPUT était pas renseigné...
Code : Sélectionner tout - Visualiser dans une fenêtre à part $query_search .= " OR (products.departement LIKE '$valinfo') OR (products.ville LIKE '$valinfo') OR (products.codepostal LIKE '$valinfo')";
de cette facon aussi, idem...
Code : Sélectionner tout - Visualiser dans une fenêtre à part $query_search .= " OR ((products.departement LIKE '$valinfo') OR (products.ville LIKE '$valinfo') OR (products.codepostal LIKE '$valinfo'))";
sa semble simple, mais la je bloc vraiment sur un truc a la con![]()
bon je me suis démerdé a faire un code un p merdique mais sa marche tres bien![]()
bon je donne le résultat, si quelqu'un a mieu je suis preneur![]()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 $informations = @$_GET['informations']; $tableau = split (",", trim($informations)); while (list($info1, $info2, $info3, $info4, $info5, $info6, $info7, $info8, $info9) = each($tableau)){ if ($info1 != '' || $info2 != '' || $info3 != '' || $info4 != '' || $info5 != '' || $info6 != '' || $info7 != '' || $info8 != '' || $info9 != ''){ $query_search .= " AND (products.departement LIKE '$info1') OR (products.departement LIKE '$info2') OR (products.departement LIKE '$info3') OR (products.departement LIKE '$info4') OR (products.departement LIKE '$info5') OR (products.departement LIKE '$info6') OR (products.departement LIKE '$info7') OR (products.departement LIKE '$info8') OR (products.departement LIKE '$info9')"; } if ($info1 != '' || $info2 != '' || $info3 != '' || $info4 != '' || $info5 != '' || $info6 != '' || $info7 != '' || $info8 != '' || $info9 != ''){ $query_search .= " AND (products.ville LIKE '$info1') OR (products.ville LIKE '$info2') OR (products.ville LIKE '$info3') OR (products.ville LIKE '$info4') OR (products.ville LIKE '$info5') OR (products.ville LIKE '$info6') OR (products.ville LIKE '$info7') OR (products.ville LIKE '$info8') OR (products.ville LIKE '$info9')"; } if ($info1 != '' || $info2 != '' || $info3 != '' || $info4 != '' || $info5 != '' || $info6 != '' || $info7 != '' || $info8 != '' || $info9 != ''){ $query_search .= " AND (products.codepostal LIKE '$info1') OR (products.codepostal LIKE '$info2') OR (products.codepostal LIKE '$info3') OR (products.codepostal LIKE '$info4') OR (products.codepostal LIKE '$info5') OR (products.codepostal LIKE '$info6') OR (products.codepostal LIKE '$info7') OR (products.codepostal LIKE '$info8') OR (products.codepostal LIKE '$info9')"; } }
avec cela sa prend en compte 9 mots clé dans un input...
un grand merci pour votre aide qui est pour moi formidable![]()
Partager