Listes déroulantes liées
maguidi
-
maguidi -
maguidi -
Bonjour,
je suis vraiment désespéré j suis en stage et j dois réaliser 4 listes déroulantes liées
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.
je suis vraiment désespéré j suis en stage et j dois réaliser 4 listes déroulantes liées
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.
A voir également:
- Listes déroulantes liées
- Listes déroulantes excel - Guide
- Listes déroulantes en cascade excel - Guide
- Supprimer les listes déroulantes excel - Forum Excel
- Effacer liste déroulante - Forum Réseaux sociaux
- Supprimer liste déroulante Excel ✓ - Forum Excel
1 réponse
voici mon code
voici mon code avec 2 page:
XMLHttpRequest_getList.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" " [ Lien ]">
<html xmlns=" [ Lien ]">
<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>
<body>
<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> <br> <br>
<select id="OptionCat1" > <option value='-1'>Selection</option></select> <br> <br>
</p>
</fieldset>
</body>
</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 "<item id=\"" . $res_cat1["KSCategories1"] . "\" name=\"" . $res_cat1["SCategories1"] . "\" />";
}
}
}
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
voici mon code avec 2 page:
XMLHttpRequest_getList.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" " [ Lien ]">
<html xmlns=" [ Lien ]">
<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>
<body>
<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> <br> <br>
<select id="OptionCat1" > <option value='-1'>Selection</option></select> <br> <br>
</p>
</fieldset>
</body>
</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 "<item id=\"" . $res_cat1["KSCategories1"] . "\" name=\"" . $res_cat1["SCategories1"] . "\" />";
}
}
}
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