Recuperer valeur select multiple

Eléphant du PHP | 440 Messages

06 janv. 2010, 12:54

Bonjour à tous,

je voudrait savoir comment récuperer les valeur d'un select multiple pour l'introduire dans une requete.


J'ai mon select multiple, j'arrive a récupérer les valeurs,

mais je voudrait integrer ces valeurs dans une requete
select u3.nom_user AS nom_commercial, u3.prenom_user AS prenom_commercial, u2.nom_user AS nom_televendeuse, u2.prenom_user AS prenom_televendeuse, reclamation.id_reclamation, nom_client, code_client, DATE_FORMAT(date_reclamation,'%d/%m/%Y') as date_reclamation, des_reclamation, nom_critere, id_ai, action_realise.id_ar, nom_ar, autre_ai, status_ai, nom_scritere, substring(nom_type_reclamation, 13 , 30) AS nom_type_reclamation, eva_reclamation.id_type_reclamation, id_eva_reclamation FROM reclamation INNER JOIN client c ON c.id_client=reclamation.id_client INNER JOIN user u2 ON u2.id_user = c.id_televendeuse INNER JOIN user u3 ON u3.id_user = c.id_commercial LEFT JOIN action_immediate ON action_immediate.id_reclamation=reclamation.id_reclamation LEFT JOIN action_realise ON action_realise.id_ar=action_immediate.id_ar LEFT JOIN eva_reclamation ON eva_reclamation.id_reclamation=reclamation.id_reclamation LEFT JOIN type_reclamation ON type_reclamation.id_type_reclamation=eva_reclamation.id_type_reclamation LEFT JOIN critere ON critere.id_critere=eva_reclamation.id_critere LEFT JOIN scritere ON scritere.id_scritere=eva_reclamation.id_scritere WHERE c.code_client IN (###1###)AND date_reclamation between'2010-01-01' AND '2010-12-31' ORDER BY id_reclamation ASC, c.code_client ASC
les valeur récupérer son les code clients et je voudrait tous les insérer d'un coup pour réaliser un triage par ordre id_reclamation.

Comment je pourrait faire ?

Merci

guigui69

Eléphant du PHP | 70 Messages

06 janv. 2010, 16:20

Où souhaites-tu insérer tes codes clients?

Dans une autre table SQL?
Si oui, à quelle moment as-tu besoin de cette requête?
Damien Vande Kerckhove - Developer PHP & .net
Mon blog

Eléphant du PHP | 440 Messages

06 janv. 2010, 17:54

Non, en fait je doit afficher le résultat dans une page web c'est tout.

Et comme je doit ranger dans l'ordre de la réclamation puis du client, je doit insérer dans la requete l'ensemble des client voulu.

merci

guigui69

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

06 janv. 2010, 23:59

Ajoute des crochets dans le nom de ton select (ex : name="monSelect[]"). Tu pourras ainsi récupérer un tableau en php ($_POST['monSelect']) qu'il te suffira de parcourir avec un foreach ou autre :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 440 Messages

07 janv. 2010, 11:22

Ma page est deja avec foreach, mais je voulait savoir si il est possible de rajouter l'ensemble des code_client sélection dans la requete en " code_client IN (XXXX) car en plus des client selectionner je doit sortir par ordre de reclamation.

Actuellement je sort par client (chaque client) puis je range par ordre de réclamation.
Ce que je voudrait de réaliser une seul requete avec l'ensemble des code clients (code_client IN (1, 123, 234,3535) ) et ranger par id_reclamation.

Mais je ne sais pas comment faire.

Merci

guigui69

Eléphant du PHP | 440 Messages

27 janv. 2010, 16:07

Re bonjour je revient vers vous
car je cherche toujour comment mettre en place cette requette:

Code : Tout sélectionner

SELECT u3.nom_user AS nom_commercial, u3.prenom_user AS prenom_commercial, u2.nom_user AS nom_televendeuse, u2.prenom_user AS prenom_televendeuse, reclamation.id_reclamation, nom_client, code_client, DATE_FORMAT(date_reclamation,'%d/%m/%Y') AS date_reclamation, des_reclamation, nom_critere, id_ai, action_realise.id_ar, nom_ar, autre_ai, status_ai, nom_scritere, substring(nom_type_reclamation, 13 , 30) AS nom_type_reclamation, eva_reclamation.id_type_reclamation, id_eva_reclamation FROM reclamation INNER JOIN client c ON c.id_client=reclamation.id_client INNER JOIN user u2 ON u2.id_user = c.id_televendeuse INNER JOIN user u3 ON u3.id_user = c.id_commercial LEFT JOIN action_immediate ON action_immediate.id_reclamation=reclamation.id_reclamation LEFT JOIN action_realise ON action_realise.id_ar=action_immediate.id_ar LEFT JOIN eva_reclamation ON eva_reclamation.id_reclamation=reclamation.id_reclamation LEFT JOIN type_reclamation ON type_reclamation.id_type_reclamation=eva_reclamation.id_type_reclamation LEFT JOIN critere ON critere.id_critere=eva_reclamation.id_critere LEFT JOIN scritere ON scritere.id_scritere=eva_reclamation.id_scritere WHERE c.code_client IN (###1###)AND date_reclamation between'2010-01-01' AND '2010-12-31' ORDER BY id_reclamation ASC, c.code_client ASC
C'est au niveau du code_client IN je voudrait insérer dedans tout les code client voulu pour pouvoir réaliser un ordre (ORDER BY)

Merci d'avance

guigui69