Soucis avec mon code SQL et PHP

WhiiTe

Algorithmique a revoir, tes items ne peuvent pas avoir un prix à la fois Supérieur et inférieur à une valeur
 

MEKr

Bonjour visiteur, merci de vous inscrire ou de vous connecter afin de voir les liens. Cela est gratuit et ne prend que quelques secondes !

puis pour ta requête je dirais que soit tu set des valeurs par defauts soit tu construits ta requête en fonction des paramètres

Code:
Code:
Vous devez être connecté pour voir le contenu masqué.
etc...
 

Enzo34!

MEKr a dit:
Bonjour visiteur, merci de vous inscrire ou de vous connecter afin de voir les liens. Cela est gratuit et ne prend que quelques secondes !

puis pour ta requête je dirais que soit tu set des valeurs par defauts soit tu construits ta requête en fonction des paramètres

Code:
Code:
Vous devez être connecté pour voir le contenu masqué.
etc...
Cliquez pour agrandir...
je vais pas set des valeurs par Default étant donne que je ne connais pas ma variable xD
 

Paul GTP

Code:
Code:
Vous devez être connecté pour voir le contenu masqué.

Comme ça, si $min est pas défini, on rajoute pas la condition dans la requête, si $max est pas défini, on rajoute pas la condition à la requête, si aucun des deux n'est défini, non plus, mais si l'un, l'autre ou les deux sont définis on les rajoute à la requête
Je ne l'ai pas testé mais je suppose que ça marche, tu m'en diras des nouvelles :p
 

Enzo34!

Paul GTP a dit:
Code:
Code:
Vous devez être connecté pour voir le contenu masqué.

Comme ça, si $min est pas défini, on rajoute pas la condition dans la requête, si $max est pas défini, on rajoute pas la condition à la requête, si aucun des deux n'est défini, non plus, mais si l'un, l'autre ou les deux sont définis on les rajoute à la requête
Je ne l'ai pas testé mais je suppose que ça marche, tu m'en diras des nouvelles :p
Cliquez pour agrandir...
Fatal error: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in /var/www/xxxxxxindex.php:68 Stack trace: #0 /var/www/xxxxx/index.php(68): PDOStatement->execute(Array) #1 {main} thrown in /var/www/xxxxx/index.php on line 68 je vais continuer de chercher ^^
 

WhiiTe

Enzo ? a dit:
Fatal error: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in /var/www/xxxxxxindex.php:68 Stack trace: #0 /var/www/xxxxx/index.php(68): PDOStatement->execute(Array) #1 {main} thrown in /var/www/xxxxx/index.php on line 68 je vais continuer de chercher ^^
Cliquez pour agrandir...
Normal dans ta requête tu as sois mon sois max et dans ton execute tu donnes les deux
 

Paul GTP

Paul GTP a dit:
$req->execute([ 'annonce' => "%{$annonce}%", 'adresse' => "%{$adresse}%", 'categorie' => "%{$categorie}%", 'max' => "$max", 'min' => "$min", ]);
Cliquez pour agrandir...
Tu peux remplacer ça par ça:
Code:
Code:
Vous devez être connecté pour voir le contenu masqué.
En PDO, tu as 2 moyens de bind une variable, soit en passant un array dans execute(), soit en utilisant bindValue(). Essaie cette méthode là, elle devrait fonctionner :p
Après bon je garantis pas le code le plus propre mais bon je vais pas te mâcher tout le travail non plus, je te donne juste l'idée globale :troll:
 
Haut Bas