Actualiser une liste en fct de la précédente
papouuu86
Messages postés
86
Statut
Membre
-
papouuu86 Messages postés 86 Statut Membre -
papouuu86 Messages postés 86 Statut Membre -
Bonjour,
J'ai créé deux listes déroulantes l'une où l'utilisateur choisit le type d'ordinateur (PC ou MAC)
l'autre où sont proposés tous les modèle spécifiques à la marque. Donc j'aimerais que lorsque l'utilisateur choisit PC l'autre liste affiche tous les modèles de PC présents dans la BDD et ce sans passer d'une page à l'autre (j'aurais plein d'autres options alors s'il faut recharger la page a chaque fois ca va vite devenir lourd.)
ma question est simple: quelle technologie dois-je utiliser? je penche pour l'AJAX mais je n'ai quasiment aucune connaissance sur le sujet. Je suppose que ce n'est pas faisable en PHP uniquement.
Merci a vous ;)
J'ai créé deux listes déroulantes l'une où l'utilisateur choisit le type d'ordinateur (PC ou MAC)
l'autre où sont proposés tous les modèle spécifiques à la marque. Donc j'aimerais que lorsque l'utilisateur choisit PC l'autre liste affiche tous les modèles de PC présents dans la BDD et ce sans passer d'une page à l'autre (j'aurais plein d'autres options alors s'il faut recharger la page a chaque fois ca va vite devenir lourd.)
ma question est simple: quelle technologie dois-je utiliser? je penche pour l'AJAX mais je n'ai quasiment aucune connaissance sur le sujet. Je suppose que ce n'est pas faisable en PHP uniquement.
Merci a vous ;)
Configuration: Windows Vista Firefox 3.0.14
1 réponse
-
Bonjour, j'ai trouvé un lien sympa :
https://forum.phpfrance.com/tutoriels/formulaires-listes-deroulantes-dynamiques-liees-t4562.html
mais je n'arrive pas à avoir le même rendu une fois mon code adapté... rien ne change dans ma 2eme liste déroulante...
$idr = isset($_POST['region'])?$_POST['region']:null; if(isset($_POST['ok']) && isset($_POST['departement']) && $_POST['departement'] != "") { $region_selectionnee = $_POST['region']; $dept_selectionne = $_POST['departement']; ?> <p>Vous avez sélectionné le département <?php echo($dept_selectionne); ?> dans la région <?php echo($region_selectionnee); ?></p> <?php } ?> <center> <form action="config.php" method="POST"> <?php $nbre=array(); $mq=array(); $config1=$connect->prepare('SELECT * FROM CONFIGURATEUR'); $config1->execute(); $nb_mq=0; foreach($config1 as $ligne1) { if ($ligne1['MARQUE_CONFIG']=="MAC") {$cd_mq=1;} elseif($ligne1['MARQUE_CONFIG']=="PC") {$cd_mq=2;} array_push($nbre, $cd_mq); array_push($mq, $ligne1['MARQUE_CONFIG']); $nb_mq++; $zut=$ligne1['MARQUE_CONFIG']; } echo $cd_mq; echo $ligne1['MARQUE_CONFIG']; ?> <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgdept"> <fieldset style="border: 3px double #333399"> <legend>Sélectionnez une région</legend> <select name="region" id="region" onchange="document.forms['chgdept'].submit();"> <option value="-1">- - - Choisissez une région - - -</option> <?php for($i = 0; $i < $nb_mq; $i++) { ?> <option value="<?php echo($nbre[$i]); ?>"<?php echo((isset($idr) && $idr == $nbre[$i])?" selected=\"selected\"":null); ?>><?php echo($mq[$i]); ?></option> <?php } ?> </select> <?php //if(isset($idr) && $idr != -1) //{ $conf2 = $connect->prepare('SELECT * FROM CONFIGURATEUR WHERE MARQUE_CONFIG="'.$zut.'"'); $conf2->execute(); $nd = 0; /* On crée deux tableaux pour les numéros et les noms des départements */ $id_config = array(); $nom_ordi = array(); /* On va mettre les numéros et noms des départements dans les deux tableaux */ foreach($conf2 as $ligne2) { array_push($id_config, $ligne2['ID_CONFIG']); array_push($nom_ordi, $ligne2['MODELE_CONFIG']); $nd++; } echo $id_config." ". $nom_ordi; /* Maintenant on peut construire la liste déroulante */ ?> <select name="departement" id="departement"> <?php for($d = 0; $d<$nd; $d++) { ?> <option value="<?php echo($id_config[$d]); ?>"<?php echo((isset($dept_selectionne) && $dept_selectionne == $id_config[$d])?" selected=\"selected\"":null); ?>><?php echo($nom_ordi[$d]); ?></option> <?php } ?> </select> <?php //} ?> <br /><input type="submit" name="ok" id="ok" value="Envoyer" /> </fieldset> </form> </body> </html> </table> </form> <?php ?> <a href="testttttttt.php">ici</a> </body> </html>
DSL pour le pavé mais le je sèche et je dois vite partir en déplacement