Liste déroulantes liées

maguidi Messages postés 17 Date d'inscription mardi 14 avril 2009 Statut Membre Dernière intervention 13 mai 2009 - 28 avril 2009 à 16:27
maguidi Messages postés 17 Date d'inscription mardi 14 avril 2009 Statut Membre Dernière intervention 13 mai 2009 - 30 avril 2009 à 09:00
slt
je suis vraiment désespéré j suis en stage et j dois réaliser 4 listes déroulantes liées la liste2 est les élément de la liste 2 dépende du choix fait sur la liste1 et les élément de la liste 3 dépende du choix de la liste 2 et ansi de suite
j'ai tout essayé mais j'y arrive pas

8 réponses

Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
28 avril 2009 à 20:32
Hello,

les valeurs dans listes déroulantes proviennent de quoi ? mysql ? en dur dans le code ? xml ?

-- Orange73 --
"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)
0
maguidi Messages postés 17 Date d'inscription mardi 14 avril 2009 Statut Membre Dernière intervention 13 mai 2009
29 avril 2009 à 07:59
chaque liste est alimentée par une table de ma base de données sql
0
maguidi Messages postés 17 Date d'inscription mardi 14 avril 2009 Statut Membre Dernière intervention 13 mai 2009
29 avril 2009 à 08:18
j'ai des articles qui appartiennent à des familles et des sous familles. Avant d'arriver à l'article on a une familles et 4 sous familles, par exemple l'article A1 appartient a la sous famille3 qui appartient à la sous famille2 qui appartient à la sous famille1 qui appartient à la familles1. lorsque l'utilisateur veut créer un article il doit d'abord choisir la famille sur la liste1 et et sur la liste 2 il n'y aura que les sous familles1 appartenant à la famille qu'il a choisi, ensuite il fait son choix sur la liiste2 et sur la liste 3 il n'y aura que les sous familles2 appartenant à la sous famille1 qu'il a choisi et ainsi de suite.
Dans ma base de données j'ai une table famille, une table sous famille1, une table sous famille2, une table sous familles3 et une table articles.
 
0
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
29 avril 2009 à 08:51
Alors c'est soit tu reste avec du php simple php et tu recharge la page a chaque selection en recuperant la valeur via GET ou POST, soit tu utilise AJAX (beaucoup mieux , et sans recharger la page),

Tu as pas mal de tuto sur AJAX sur google.

-- Orange73 --
"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
maguidi Messages postés 17 Date d'inscription mardi 14 avril 2009 Statut Membre Dernière intervention 13 mai 2009
29 avril 2009 à 09:40
ça fait presque un mois que je fais des recherches, j'ai vu plein de tuto, sur ajax javascript, php mais rien, j'arrive seulement à le faire avec deux listes déroulantes mais le problèmes est que j'ai 4 listes déroulantes.  
0
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
29 avril 2009 à 11:34
Comment tu fais actuellement ?

-- Orange73 --
"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)
0
maguidi Messages postés 17 Date d'inscription mardi 14 avril 2009 Statut Membre Dernière intervention 13 mai 2009
29 avril 2009 à 11:46
voici mon code avec 2 page:
 XMLHttpRequest_getList.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Techniques AJAX - XMLHttpRequest</title>
<script type="text/javascript" src="./script/oXHR.js"></script>
<script type="text/javascript">
<!--


function SelectCat1(oSelect)
{
 var value = oSelect.options[oSelect.selectedIndex].value;
 var xhr   = getXMLHttpRequest();
 
 xhr.onreadystatechange = function()
  {  if (xhr.readyState 4 && (xhr.status 200 || xhr.status == 0))
    {
   readData(xhr.responseXML);
   document.getElementById("loader").style.display = "none";
  }
    else if (xhr.readyState < 4)
    {
   document.getElementById("loader").style.display = "inline";
  }
 };
 
 xhr.open("POST", "XMLHttpRequest_getListData.php", true);
 xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
 xhr.send("ChoixFam=" + value);
}


function readData(oData)
{
 var nodes   = oData.getElementsByTagName("item");
 var oSelect = document.getElementById("OptionCat1");
 var oOption, oInner;
 
 oSelect.innerHTML = "";
 for (var i=0, c=nodes.length; i<c; i++)
  {
  oOption = document.createElement("option");
  oInner  = document.createTextNode(nodes[i].getAttribute("name"));
  oOption.value = nodes[i].getAttribute("id");
  
  oOption.appendChild(oInner);
  oSelect.appendChild(oOption);
 }
}


//-->
</script>
</head>



<fieldset>
 <legend></legend>


  
   <select id="famille" onchange="SelectCat1(this);">
    <option value="none">Selection</option>
    <?php     
     mysql_connect("localhost", "root", "");
     mysql_select_db("bdmagasin");
     
     $select_famille = mysql_query("SELECT KFamilles, Categories FROM Familles");
     while ($res_famille = mysql_fetch_assoc($select_famille)) {
      echo "\t\t\t\t<option value="" . $res_famille["KFamilles"] . "">" . $res_famille["Categories"] . "</option>\n";
     }
    ?>   
   </select>


  
  
   <select id="OptionCat1" >  <option value='-1'>Selection</option></select>


 
   
   
  

   
</fieldset>

</html>
la deuxième page: XMLHttpRequest_getListData.php
<?php


header("Content-Type: text/xml");
echo "<?xml version="1.0" encoding="utf-8"?>";?> <?php
echo "<list>";


$ChoixFam = (isset($_POST["ChoixFam"])) ? htmlentities($_POST["ChoixFam"]) : NULL;
echo $ChoixFam;
if ($ChoixFam)
{
 mysql_connect("localhost", "root", "");
 mysql_select_db("bdmagasin");
  $select_cat1 mysql_query("SELECT KSCategories1, SCategories1 FROM scategories1 WHERE FKFamilles '".$ChoixFam."'");


 while ($res_cat1 = mysql_fetch_assoc($select_cat1)) {
  echo "";
 }
}
}
echo "</list>";


?>
ça marche avec les deux première liste mais j sais pas comment faire pour le reste j'ai essayé de refaire la même chose mais rien
0
maguidi Messages postés 17 Date d'inscription mardi 14 avril 2009 Statut Membre Dernière intervention 13 mai 2009
30 avril 2009 à 09:00
please!!! aidez moi j suis vraiment désespéré
0
Rejoignez-nous