Código PHP:
<?
$conexion=mysql_connect("localhost","","") or die("Problemas en la conexion");
mysql_select_db("",$conexion) or die("Problemas en la selección de la base de datos");
?>
<!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" lang="es" xml:lang="es">
<head>
<title>Listas dependientes con PHP y mySQL</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript">
<!--
function slctr(texto,valor){
this.texto = texto
this.valor = valor
}
function slctryole(cual,donde){
if(cual.selectedIndex != 0){
donde.length=0
cual = eval(cual.value)
for(m=0;m<cual.length;m++){
var nuevaOpcion = new Option(cual[m].texto);
donde.options[m] = nuevaOpcion;
if(cual[m].valor != null){
donde.options[m].value = cual[m].valor
}
else{
donde.options[m].value = cual[m].texto
}
}
}
}
<?
$query = mysql_query("select * from categorias_productos order by nombre_categoria");
$categorias_padre = array();
while($res = mysql_fetch_assoc($query)){
$contador = 0;
if($res["id_categoria_padre"] == 0) $categorias_padre["cat_".$res["id_categoria"]] = $res["nombre_categoria"];
?>
var cat_<?=$res["id_categoria"] ?>=new Array()
cat_<?=$res["id_categoria"]."[".$contador++ ?>] = new slctr('- -<?=$res["nombre_categoria"] ?>- -')
<?
if($res["id_categoria_padre"] == 0){
$query2 = mysql_query("select id_categoria, nombre_categoria as 'nombre' from categorias_productos where id_categoria_padre = ". $res["id_categoria"]. " order by nombre_categoria");
}
else{
$query2 = mysql_query("select id_categoria, nombre_categoria as 'nombre' from categorias_productos where id_categoria_padre = ". $res["id_categoria"]. " order by nombre_categoria");
}
while($res2 = mysql_fetch_assoc($query2)){ ?>
cat_<?=$res["id_categoria"]."[".$contador++ ?>] = new slctr("<?=$res2["nombre"]?>",'cat_<?=$res2["id_categoria"]?>')
<? }
}
?>
//-->
</script>
</head>
<body>
<form>
<fieldset>
<select name="select" onchange="slctryole(this,this.form.select2)">
<option>- - Seleccionar - -</option>
<?
foreach($categorias_padre as $idd =>$cat){ ?>
<option value="<?=$idd?>"><?=$cat?></option>
<?
}
?>
</select>
<select name="select2" onchange="slctryole(this,this.form.select3)">
<option>- - - - - -</option>
</select>
<select name="select3">
<option>- - - - - -</option>
</select>
</fieldset>
<input name="submit" type="submit" value="Enviar" />
</form>
</body>
</html>
select 1
accesorio
select 2
percucion
select 3
parche
nesecito insertar el id_cat del la opcion 3, bien, el problema que tengo es que a veces el ultimo id_cat esta en el select 2 ej:
select 1
guitarra
select 2
electrica
select 3
----------
y aveces en el 1
select 1
mic
select 2
----------
select 3
----------
solo nesecito el id_cat para poder ingresar el producto en cada categoria padre, como se hace en estos casos?
Desde ya muchas gracias por todo