Accueil > Forum > > > > Listes déroulantes avec AJAX
Listes déroulantes avec AJAX
vendredi 24 février 2006 à 09:34:11 |
Listes déroulantes avec AJAX

dam_37
|
Salut à tous! Je réalise un formulaire dont 3 listes déroulantes sont dépendantes l'une de l'autre, je vous explique: J'ai un champ (channel), en sélectionnant se champ, je fais une requete sur ma liste de références pour n'afficher que celles appartenant au channel. Quand je chosis une référence, je dois alors, dans une autre liste, faire une requête pour n'afficher que les champs dont la référence est celle de la précédente liste.
Pour actualiser mes listes, j'ai utilisé de l'AJAX et de l'XMLHTTPRequest. j'arrive à faire marcher l'interractivité entre 2 listes mais pas entre les 3, càd la 1ère et la 2ème ou la 2ème et la 3ème ms pas les trois.
Quelqu'un saurait si une autre méthode que l'ajax serait préférable ou comment pouvoir faire fonctionner les 3. Voici mon code:
formulaire.php <TD><span id='produits'><select name="ref" id='produits' onchange="change_pk();"> <option value=''>------------------------------</option> <? $res = mysql_query("SELECT * FROM produits ORDER BY ref"); while($valeur = mysql_fetch_assoc($res)) { echo "<option value= ".$valeur["id_prod"]; if($id_prod==$valeur["id_prod"]) echo ' selected '; echo ">".$valeur["ref"]."</option>"; } ?>
<TD><span id='package'><select name="pk"> <option value=''>------------------------------</option> <? $requete = "SELECT distinct pk FROM package order by pk"; requete_liste_deroul($requete,$pk,'pk'); ?> </select> </span>
<TD><select name="ch" id='channelprod' onchange="change_ref();"> <option value=''>---------------------</option> <? $res = mysql_query("SELECT * FROM channelprod ORDER BY ch"); while($valeur = mysql_fetch_assoc($res)) { echo "<option value= ".$valeur["id_ch"]; if($id_ch==$valeur["id_ch"]) echo ' selected '; echo ">".$valeur["ch"]."</option>"; } ?> </select>
menu.js: function change_ref() { getXhr(); xhr.open("POST","change_ref.php",true); xhr.onreadystatechange = function(){ if(xhr.readyState == 4 && xhr.status == 200){ document.getElementById("produits").innerHTML =xhr.responseText; } } xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); sel = document.getElementById('channelprod'); idchannel = sel.options[sel.selectedIndex].value; xhr.send("id_ch="+idchannel); }
change_ref.php <select name='ref'><option value=''>------------------------------</option> <? $id_ch=$_POST["id_ch"]; $_SESSION['id_ch']=$id_ch; $ref=$_SESSION['ref'];
$res = mysql_query("SELECT ref FROM produits WHERE id_ch='$id_ch' ORDER BY ref"); while($valeur = mysql_fetch_assoc($res)) { echo "<option value= ".$valeur["ref"]; if($ref==$valeur["ref"]) echo ' selected '; echo ">".$valeur["ref"]."</option>"; } ?> </select>
Voilà, si vous savez, à vous les mecs! merci d'avance dam-37
|
|
samedi 25 février 2006 à 14:02:27 |
Re : Listes déroulantes avec AJAX

coucou747
|
Salut,
change_ref.php <select name="ref"><option value="">------------------------------</option> <?php $id_ch=$_POST['id_ch']; $_SESSION['id_ch']=$id_ch; $ref=$_SESSION['ref']; $res = mysql_query('SELECT ref FROM produits WHERE id_ch="'.$id_ch.'" ORDER BY ref') or die('ERREUR SQL ligne : '.__LINE__.mysql_error();); while($valeur = mysql_fetch_assoc($res)) { echo '<option value= '.$valeur['ref']; if($ref==$valeur['ref']) echo ' selected '; echo '>'.$valeur['ref'].'</option>'; } ?> </select>
Bon, j'ai fais que corriger des imperfections, et non ton problème... sinon, il doit te manquer un session_start();...
envoi nous des sources javascript et non des sources php, sinon, tu t'es trompé de forum...
pour vérifier tes valeurs :
remplace :
xhr.send("id_ch="+idchannel);
par :
alert(id_channel);
xhr.send("id_ch="+idchannel);
Bonne chance: )
In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy Mon site (articles sur la programmation et programmes)
|
|
lundi 27 février 2006 à 09:17:56 |
Re : Listes déroulantes avec AJAX

dam_37
|
Salut, AJAX signifie Asynchronous Javascript and XML et c'est la méthode que j'utilise. Je pense donc que le meilleur forum pour poser ma question, c'est javascriptfr et non phpcs mais si quelqu'un connais un forum plus adéquate pour ma question, je le veux volontiers! j'ai tout de même scruté les forums quelques heures avant de poser ma question et j'avoue que ce sujet n'est pas très redondant.
Merci sinon pour t'es correction, c'est toujours utile. J'utilise un session_start(); je ne mets pas l'intégralité du code pour pas allourdir la page. je vais tester le alert(). merci @+
dam-37
|
|
Cette discussion est classée dans : valeur, id, echo, ref, xhr
Répondre à ce message
Sujets en rapport avec ce message
recuperation données AJAX [ par corsamobile ]
Bonjour à tous,J'ai créé une liste deroulante liée avec trois listes deroulantes qui vont chercher leurs données dans une BDD.En selectionnant une ref
[AJAX] Lier deux listes déroulantes [ par beegeezzz ]
Salut les développeurs,J'aimerais créer une page avec 4 listes déroulantes liées.J'ai une première liste déroulante qui s'alimente correctement, je ne
Barre de progression et XMLHTTPRequest [ par FredChut ]
Salut a tous,Bravo au forum qui m'aide a fabriquer du code quand je n'y arrive pas tout seul !Je suis en train de créer un site qui, entre autres, m'a
Rafraichir la page via choix dans liste [ par pasdie ]
Bonjour à tous,Voilà mon problème :J'ai une page PHP contenant deux listes.Ma première liste est remplie via une requete sur mon serveur (je possède E
Liste liée - Formulaire [ par onylink ]
Bonjour, J'essai de liées des listes dans un formulaire, mais après mon choix rien ne se passe.. Mais je n'ai pas d'erreur.. Page appelante :<pre clas
Pb style.visibility sous Php [ par jpsoniag ]
Bonjour, Je suis débutant en Php. J'ai suivi les infos du siteduzero pour essayer de créer un truc assez simple. Je vais en base rechercher des joueu
récurération de la valeur d'une cellule d'un tableau créer dynamiquent à partir d'une base de données [ par brandon ]
Bonjour, alors voila mon problème :je crée un tableau à partir d'une base de données mysql de la façon suivante :$requete="SELECT * FROM intervention
if [ par kenny18 ]
Salut à tous,mon problème n'est toujours pas résolu !!!J'affiche sur une page le contenu d'une table. J'ai un bouton sur lequel je clique je veux pouv
[DOM]Conserver une valeur après ajout d'un child [ par malalam ]
Hello,le titre n'est pas super clair parce que je ne savais pas comment résumer.J'appelle une fonction sur un évènement (onchange d'un select : bref,
l'id de l'input... [ par Teclis01 ]
voilà j aimerais changer la couleur de la case sur laquelle l'utilisateur pointe.chaque case est crée dans une boucle ou son id est unique La question
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Forum
UTILISER UN .JSUTILISER UN .JS par zaikoe
Cliquez pour lire la suite par zaikoe
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|