Accueil > Forum > > > > Passage de valeur à partir de MySQL vers une liste déroulante qui génère une autre liste déroulante , de manière incrémentale et illimitée
Passage de valeur à partir de MySQL vers une liste déroulante qui génère une autre liste déroulante , de manière incrémentale et illimitée
vendredi 4 août 2006 à 17:21:12 |
Passage de valeur à partir de MySQL vers une liste déroulante qui génère une autre liste déroulante , de manière incrémentale et illimitée

Flatouille
|
Bonjour à tous
Dans le cadre d'un travail pour mon stage, je dois réaliser une petite bidouille qui consiste à créer des listes déroulantes en fonction de valeurs contenues dans une base MySQL puis à partir de cette liste fraichement crée, à prendre la valeur de chaque ligne de ma liste déroulante pour en créer une autre en fonction d'une requête SQL.
Je vais donner un exemple plus parlant : Imaginez que la première liste déroulante symbolise la liste des cadres d'une entreprise. Une fois la première liste des cadres créée, le fait de cliquer sur celle-ci pour choisir un cadre va nous donner dans une seconde liste déroulante les personnes qui dépendent des cadres (des employés moyens par exemple), et le fait de cliquer sur la liste des "employés moyens" en choisissant un "employé moyen", va nous donner une liste des "employés faibles" et ainsi de suite.
Pour se faire, j'ai utilié une méthode ajax (que j'ai d'ailleurs trouvé sur ce forum) qui va prendre en paramètre les valeurs du formulaire de la liste première liste déroulante et les envoyer sur une page cible qui elle va donc générer la seconde liste déroulante.
Jusqu'ici tout se passe bien mais lorsque je veux faire ceci de manière illimité (on imagine qu'on veuille encore descendere dans la hierarchie) et bien je n'ai pas d'idée quant au fait d'utiliser une bonne méthode pour pallier à ce problème, et donc je me retrouve bloqué à 2 niveaux.
Je vous présente le code pour vous éclairer. Je n'ai pas mis les paramètres de connexion MySQL, mais aucun problème de ce côté la.
Voici le code qui se trouve sur la page PHP contenant entre les balises
<head></head>
le javascript suivant :
<head> <!--<script language="JavaScript" src="verifForm.js"></script>--> <script type="text/javascript"> function sendData(param,page) { if(document.all) { var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ; } else { var XhrObj = new XMLHttpRequest(); } var content = document.getElementById("contenu"); XhrObj.open("POST", page); XhrObj.onreadystatechange = function() { if (XhrObj.readyState == 4 && XhrObj.status == 200) content.innerHTML = XhrObj.responseText ; } XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); XhrObj.send(param); } </script> </head>
........... Et puis un peu plus tard dans la page le formulaire qui contient le
<select .....>
avec la fonction
sendData
qui envoie ses paramètres sur la page
liresc.php
<table><tr> <?php $rq="SELECT identifier,last_name FROM salesman;"; $result= mysql_query($rq) or die ("Requete de selection impossible"); ?> <form method="POST" action="">
<td>Le vendeur suivant : <font face="arial"> <select name="list_vendeur" size="1" style="width:200px" OnChange="sendData('list_v='+this.value,'liresc.php')"> <?php while ($dt=mysql_fetch_row($result)) { echo "<option value=".($dt[0]).">".($dt[0])."</option>"; } ?> </select> est sous les ordres de : </font></td> <td><div id="contenu"></div></td> </tr> </table> </form>
Et enfin la page
liresc.php
qui contient le traitement de la seconde liste déroulante :
<?php include_once("conn.php"); if(isset($_POST['list_v']) && !empty($_POST['list_v']) ){ $parametre=$_POST['list_v']; $rq="SELECT id_responsable FROM hierarchy WHERE id_dependance='$parametre';"; $result= mysql_query ($rq) or die ("Requete impossible"); if (mysql_num_rows($result)>0) { echo "<select size='1' name='souscat'>"; } else { echo "<font face='arial'>PERSONNE</font>"; } while ($dt=mysql_fetch_row($result)) { echo "<option value=".($dt[0]).">".($dt[0])."</option><br>"; } echo "</select>"; } ?>
Donc, tout ca pour dire que à 2 niveaux, tout fonctionne très très bien. J'aurais pensé à faire des fonctions pour faire en sorte d'appliquer une sorte de réutilisation mais je ne vois pas trop comment m'y prendre. Au niveau de MySQL, la table salesman correspond à notre table d'employés et la table hierarchy correspond simplement à la corrélation entre un employé et son statut de responsable vis à vis d'un autre employé et l'employé sous ses ordres. Exemple BIS : A est sous les ordres de B et C mais B est également sous les ordres de D.
Voilà, j'espère que vous avez compris le type de problème auquel je fais face. Si quelqu'un à une ébauche de solution, je suis preneur 
Merci
|
|
Cette discussion est classée dans : page, mysql, liste, déroulante, xhrobj
Répondre à ce message
Sujets en rapport avec ce message
liste déroulante et affichage autoamtique sur la même page [ par cbst ]
Salut à tous[^^happy5] voilà j'ai crée en php une liste déroulante de code services rempli à partir de la base donnée et je voudrais, après une clique
Valeur par défaut depuis mysql sur liste déroulante [ par VicTeams ]
Bonjour à tous, voila maintenant 2 jours et demi que je cherche a mettre la valeur par défaut dans un select. Je m'explique : J'ai 2 tables, la premi
MySQL liste déroulante qui ne s'affiche pas [ par antoine1110 ]
bonjour bonjour!! je suis un grand novice dans le domaine du php mysql ( ca doit être ma deuxième semaine sur le sujet mais avec un projet qui se pr
liste déroulante - php - mysql [ par calypso78 ]
Bonsoir, J'ai un petit blocage, j'ai réussi à faire une requête et à l'afficher dans un tableau, mais je bloque pour faire une liste déroulante avec
Prblémre récupération donées bdd mysql dans liste déroulante [ par tif27940 ]
Bonjour, voila mon petit probléme est que je n'arrive pas a récupérer les données de ma table a fin de les mettre dans une liste déroulante. voidi le
Liste déroulante mysql (affichage + insertion) [ par orygynz ]
Bonjour, Je suis entrain de développer un petit site web et j'ai un souci pour des formulaires en lien avec une bdd. Ci-joint mon code : [cod
Liste déroulante, base mysql, changement de valeurs [ par frayoubessem ]
Salut tout le monde, J'ai besoin de remplir quelques champs de texte lorsque je choisis un element de ma liste qui est résultat d'une requête, ici j
Débutant liste déroulante + mysql bd [ par santille ]
Bonjour, Je suis débutant en PHP et j'essaie d'optimiser un script avec des listes déroulantes. Vous pouvez avoir les fichiers à http://www.fang.ch/p
Probleme de<select> et retour automatique à la premiere option [ par xpl0ze ]
Bonjour à tous ! Voila c'est mon premier topic sur ce forum et j'espere que vous pourrez me venir en aide :D Alors mon problème est le suivant. J'ai
Liste déroulante lié a une base MySQL [ par pi0up51 ]
Je sais faire ça en asp mais pas en php, ça doit pas être bien compliqué mais si qqn peut m'aider ;)@tte et bonn' prog'pi0up51http://www.progotop.ht.s
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante 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
Forum
BALISE D'ANCREBALISE D'ANCRE par FADEST
Cliquez pour lire la suite par FADEST
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
|