voici mon code:
<html>
<head>
<title></title>
<script>
List = new Array();
function Remplir(valeur){
var sel="";
sel ="<select size='1' name='sousrubrique'>";
// Parcourir le tableau
for (var i=0;i<List.length;i++)
{
// tester si la ligne du tableau (Sous-catégorie) correspond à la valeur de la catéhorie
if (List[i][1]==valeur)
{
// Ajouter une rubrique sous-catégorie au variable SEL
sel= sel + "<option value="+List[i][0]+">"+List[i][2]+"</option>";
}
}
sel =sel + "</select>";
// Modifier le DIV scat par la nouvelle List à partir du variable SEL
document.getElementBy'rubrique').innerHTML=sel;
}
</script>
</head>
<body>
<form method="POST" action="Ajout6.php3">
<select size="1" name="rubrique" OnChange="Remplir(rubrique.value)">
<?php
// Paramètres de la Connexion à la base MYSQL
$user="xx";
$host="xx";
$password="xx";
$database="xx";
$i=0; // variable de test
$j=0; // variable pour garder la valeur du premier enregistrement catégorie pour l'affichage
$connexion = mysql_connect($host,$user,$password) or die ("Connexion au serveur impossible");
mysql_select_db($database,$connexion);
// Séléction de tous les enregistrements de la table Catégorie
$rq="Select * from rubrique order by id;";
$result= mysql_query ($rq) or die ("Select impossible");
while ($dt=mysql_fetch_row($result))
{
// Remplir la liste déroulante des catégorie
echo "\t\t<option value=".($dt[0]).">".($dt[1])."</option>";
if ($i==0) { $j=$dt[0]; $i=1; } // garder la valeur du premier enregistrement
}
?>
</select><br><br>
<DIV id="scat">
<select size="1" name="sousrubrique">
</select>
</DIV>
<?php
// Séléction de tous les enregistrements de la table Sous-Catégorie
$rq="Select * from sousrubrique order by rubrique;";
$result= mysql_query ($rq) or die ("Select impossible");
// $i = initialise le variable i
$i=0;
while ($dt=mysql_fetch_row($result))
{
// Remplir le tableau (array) en javascript
// ex : List[1]=new Array (1,1,"Sous-catégorie 1");
// ex : List[2]=new Array (2,1,"Sous-catégorie 2");
echo "<script>List[".$i."] = new Array(".($dt[0]).",".($dt[1]).",'".($dt[2])."');</script>";
$i=$i+1; // Incrémentation de $i
}
echo "<script>Remplir ($j); </script>"; // Remplir la deuxième liste de choix avec les données
// des sous-catégories en utilisant la valeur j
?>
<br><br>
<input type="submit" name="Send" value="Envoyer">
</form>
</body>
</html>
voici le code de mes 2 tables sql:
Code : Tout sélectionner
CREATE TABLE `rubrique` (
`id` int(11) NOT NULL auto_increment,
`rubrique` varchar(250) collate utf8_unicode_ci NOT NULL,
`contenu` text collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;
CREATE TABLE `sousrubrique` (
`id` int(11) NOT NULL auto_increment,
`sousrubrique` varchar(250) collate utf8_unicode_ci NOT NULL,
`contenu` text collate utf8_unicode_ci NOT NULL,
`rubrique` varchar(250) collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=2 ;