He conseguido que sean totalmente dependientes los 3, un problemilla es que cuando seleccionas los 3 y luego vuelves al primero, sigue apareciendo el tercero en pantalla, cuando deberia eliminarse, ya que el valor del segundo select en el momento del submit no está vacio
Código HTML:
Ver original<form name="formulario" method="post" action=""> <select name="categorie1" id="categorie1" OnChange="submit()">
<?php
for($i=0;$i<=2;$i++)
{
if($_POST['categorie1'] == $categorie[$i][1])
echo "<option id=".$categorie[$i][0]." selected>".$categorie[$i][1]."
</option>";
else
echo "
<option id=".$categorie[$i][0].">".$categorie[$i][1]."
</option>";
}
if( ($_POST['categorie1']) || ($_POST['categorie2']) )
{
if( $_POST['categorie1'] != 'All provincies' )
{
$id = getfield('categorie_id','categorie',"where naam='".$_POST['categorie1']."'");
$categorie2 = getrows('categorie_id2','c12',"where categorie_id=".$id."");
echo "
<select name='categorie2' id='categorie2' OnChange='submit()'>";
for($j=0;$j<count($categorie2);$j++)
{
$categorienaam= getrow('Naam','categorie2',"where categorie_id2=".$categorie2[$j][0]."");
if($categorienaam[0]==$_POST['categorie2'])
echo "<option id=".$categorienaam[0]." selected>".$categorienaam[0]."
</option>";
else
echo "
<option id=".$categorienaam[0]." >".$categorienaam[0]."
</option>";
}
}
}
if($_POST['categorie2'] && $_POST['categorie2'] != 'All provincie' && $_POST['categorie1'] != 'All provincies')
{
$idb = getfield('categorie_id2','categorie2',"where naam='".$_POST['categorie2']."'");
$categorie3 = getrows('categorie_id3','c23',"where categorie_id2=".$idb."");
for($j=0;$j<count($categorie3);$j++)
{
$categorienaamb= getrow('Naam','categorie3',"where categorie_id3=".$categorie3[$j][0]."");
echo "<option id=".$categorienaamb[0].">".$categorienaamb[0]."
</option>";
}
}
?>