Bonjour,
Je souhaite mettre en place un filtre pour des requête SQL. Je crée donc des requêtes dynamiques en fonction des données POSTées par le formulaire filtre.
Pour certains éléments (des pourcentages par exemple) les données sont envoyées sous forme d'array pour dire que la données est comprise entre 20 et 80 par ex.
Dans le cas des pourcentages, il faut effectuer 9 fois la même action, j'ai donc pensé à mettre l'index de chaque élément dans un array pour ensuite pouvoir boucler dessus 9 fois.
Mais le serveur me dit que c'est un "type d'offset illegal"
Le code fonctionne bien si je met les indexes comme il faut ($_SESSION['searchForm'][a1][0]) mais je préférerais quand même passer par une boucle ou quelque chose du genre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $iso[] = array("a1","a2","a3","a4","p1","p2","p3","p4","p5"); for($i=0 ; $i<=8 ; $i++) { if(!empty(array_filter($_SESSION['searchForm']$iso[$i]))) { $req.= (!empty($_SESSION['searchForm'][$iso[$i]][0]))? " $iso[$i] BETWEEN ".$_SESSION['searchForm'][$iso[$i]][0]." AND":" $iso[$i] BETWEEN 0 AND"; $req.= (!empty($_SESSION['searchForm'][$iso[$i]][1]))? " ".$_SESSION['searchForm'][$iso[$i]][1]." AND":" 100 AND"; //$iso[$i][0] et $iso[$i][0] sont les valeurs min et max que l'on rentre dans le filtre. } }
Si quelqu'un à un solution à mon problème, je suis preneur!
Merci.
Partager