Traitement liste choix multiples [PHP] - PHP - Programmation
Marsh Posté le 28-11-2006 à 12:08:34
Ben-o a écrit :
Le "echo" me renvoie par exemple: ne_carcassonnaisne_minervoisne_narbonnais c'est à dire, les valeurs de la liste non séparées. Je voudrais savoir comment isoler les résultats obtenus. Merci par avance. |
echo $secteurs."<br />";
Voila.........
Marsh Posté le 28-11-2006 à 13:11:26
sinon, y'a print_r($_POST["secteurs"]); (à utiliser sans la boucle)
Marsh Posté le 28-11-2006 à 13:57:10
Merci, mais en fait je ne veux pas afficher les résultats à l'écran, c'était pour tester ce qui était renvoyé, je veux ensuite récupérer les résultats et les mettre sous forme de variables pour les exploiter dans ma requête SQL.
Marsh Posté le 28-11-2006 à 14:15:02
$_POST["secteurs"] est vu comme un tableau avec des indices de 0 à n. Dans une requête SQL, tu peux faire un truc du genre :
Code :
|
ps : je vais encore me faire enguirlander par MaggicBuzz avec mon IN dans ma requête
Marsh Posté le 28-11-2006 à 14:41:14
En fait j'avais une requête de ce type grace à un petit formulaire de recherche à trois entrées: prix, secteur et type de bien.
Dans mon fichier de traitement php, j'avais ça:
tout d'abord le choix du prix:
Code :
|
ensuite le choix du secteur:
Code :
|
et finalement le choix du type de bien:
Code :
|
Ensuite, j'assemble le tout pour construire la requête:
Code :
|
Voila un peu le topo, ça fonctionne très bien comme ça.
C'était facile à gérer puisque les secteurs étaient regroupés (par exemple "cne" regroupe les secteurs 1 et 2)
Maintenant, tous les secteurs sont disponibles dans la liste déroulante à choix multiple, du coup le traitement côté PHP est plus délicat pour moi.
J'espère avoir été assez clair dans mes explications d'avance merci
Marsh Posté le 28-11-2006 à 15:39:10
t'aurais peut-être intérêt à mettre dans le "value" de la balise <option> l'ID du secteur et non son nom.
par ailleurs, le IN est "équivalent" à un OR mais en plus rapide. Cela dit, faut préférer le EXISTS
Marsh Posté le 28-11-2006 à 15:54:31
C'est vrai que mettre l'ID du secteur au lieu du nom dans le "value" de la balise <option> est beaucoup mieux, je n'y avais pas pensé... Pour ce qui est de EXISTS, je ne connais pas, je vais regarder ce que je peux trouver là dessus.
Marsh Posté le 28-11-2006 à 18:59:55
J'ai beau chercher, je ne trouve pas de solution... j'aurai encore besoin de votre aide!
Marsh Posté le 29-11-2006 à 11:07:46
où tu bloques? Parce qu'il n'y a rien de bien compliquer. Dans le value de chaque <option>, tu mets l'ID de chaque secteur et dans ta requête sql, tu fais un implode($_POST['secteurs']) après la condition "IN"...
(cf l'un de mes précédents messages)
Marsh Posté le 28-11-2006 à 12:01:06
Bonjour, je viens de mettre en place sur mon site un formulaire de recherche avec une liste à choix multiples.
Je dois traiter les résultats afin de faire une requête sur une base MySQL.
Je transmet les données avec POST, et j'arrive à récupérer les données dans ma page de traitement, mais je ne sais pas comment transformer ça en requête.
Voici une partie du code de la liste à choix multiple:
Et voici le code qui me permet de récupérer les choix de la liste:
Le "echo" me renvoie par exemple: ne_carcassonnaisne_minervoisne_narbonnais c'est à dire, les valeurs de la liste non séparées.
Je voudrais savoir comment isoler les résultats obtenus.
Merci par avance.