Gestion de deux menu déroulant avec php/Mysql

Petit nouveau ! | 1 Messages

21 janv. 2008, 15:57

Bonjour,

Je développe en php4 mais suis débutant en javascript

Objet : menus déroulant imbriqués

Je cherche à afficher, les chargés de projets du menu déroulant « charge_projet » (M2), selon l’agence sélectionné dans le menu déroulant précédent « agence » (M1).

A savoir que le premier menu déroulant « agence » est alimenté par une base de données MYSQL nommé « agence ».
Le second menu déroulant « charge_projet » est lui aussi alimenté par une base de données MYSQL nommé « charge_projet »

Je ne dois pas recharger la page enfin de pas perdre les autres données du formulaire, je pense donc à une solution JavaScript.

J’ai cherché sur différents forum depuis deux jours des solutions, mais rien de vraiment concluant.
Je suis débutant en JavaScript, donc pensez si possible à un code simple et compréhensif.

Actuellement je fonctionne avec une solution du type « style= "display : none" ; » sur autant de menus M2 qu’il y a d’agence  , cette solution est un peu fermée car demande de revenir dans le code pour l’ajout d’une nouvelle agence.

Voici le code pour le menu déroulant agence (M1) :
<select name="agence" id="agence" class="texte" >
 <option value="0">Sélectionner l'agence interne</option>
 <?php $rec_agence = "SELECT * FROM agence ORDER BY agence_nom ASC";
$result_agence = mysql_query($rec_agence,$db);
while ($aff_agence = mysql_fetch_object ($result_agence))
	{
	$agence_id = $aff_agence-> agence_id;
	$agence_nom 	= $aff_agence-> agence_nom;
?>
     <option value="<?php echo $agence_id; ?>"  > <?php echo $agence_nom; ?></option>
    <?php } ?>
   </select>
Voici le code pour le menu déroulant charge de projet (M2) :
<select name="charge_projet" id=" charge_projet "  class="texte">
<option value="">Sélectionner le chargé de projet interne</option>
<?php 
$rec_charge_projet = "SELECT * FROM charge_projet WHERE agence_id='$agence' ORDER BY charge_projet_nom ASC";
$result_charge_projet = mysql_query($rec_charge_projet,$db);
while ($aff_charge_projet = mysql_fetch_object ($result_charge_projet))
	{
	$charge_projet_id = $aff_charge_projet-> charge_projet_id;
	$charge_projet_nom 	= $aff_charge_projet-> charge_projet_nom;
	$charge_projet_prenom = $aff_charge_projet-> charge_projet_prenom;
?>
 <option value="<?php echo $charge_projet_id; ?>"><?php echo $charge_projet_nom.' '.$charge_projet_prenom; ?></option>
 <?php }  ?>
   </select>
Merci d’avance pour votre aide.

Jean Luc

ViPHP
ViPHP | 2287 Messages

21 janv. 2008, 19:13

Bonjour,

Sujet traité en profondeur ici.
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

21 janv. 2008, 20:09

Modération :
dragon2, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer