Yo lo edite para que funcione con mis tablas pero surgio un problema que no lo puedo reparar, los resultados que me devuelve $_POST['id_padre'] y $_POST['id_hija'] son:
$_POST['id_padre'] = 4 (o algun otro numero)
$_POST['id_hija'] = "" (osea nada)
Asi me quedo el código ami editado:
Código PHP:
<?php
//conexión a mysql
if (!empty($_POST['enviado'])){
echo "Procesando formulario:<br>";
echo "Recibido id_tabla_padre: ".$_POST['id_padre']."<br>";
echo "Recibido id_tabla_hija: ".$_POST['id_hija'];
} else {
$conexion = mysql_connect($servidor, $usuario, $clave) or die(mysql_error());
mysql_select_db($basedatos, $conexion) or die(mysql_error());
$id_padre=$_POST['id_padre'];
echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n\n";
echo "<select name=\"id_padre\" onChange=\"this.form.submit()\">\n";
echo "<option value=\"\"> Seleccione un Item </option>\n";
$SQLconsulta_padre="SELECT * FROM lenguajes";
$consulta_padre = mysql_query($SQLconsulta_padre,$conexion) or die(mysql_error());
While ($registro_padre=mysql_fetch_assoc($consulta_padre)){
if ($id_padre == $registro_padre['id']){
echo "<option value=\"".$registro_padre['id']."\" selected>".$registro_padre['lenguaje']."</option>\n";
} else {
echo "<option value=\"".$registro_padre['id']."\">".$registro_padre['lenguaje']."</option>\n";
}
}
echo "</select>\n\n";
mysql_free_result($consulta_padre);
echo "<select name=\"id_hija\">\n";
if (!empty($id_padre)){
$SQLconsulta_hija="SELECT * FROM categorias WHERE id_lenguaje ='$id_padre'";
$consulta_hija = mysql_query($SQLconsulta_hija,$conexion) or die(mysql_error());
if (mysql_num_rows($consulta_hija) != 0){
While ($registro_hija=mysql_fetch_assoc($consulta_hija)){
echo "<option value=\"".$registro_hija['id']."\">".$registro_hija['categoria']."</option>\n";
}
} else {
echo "<option value=\"\"> No hay registros para este Item </option>";
}
} else {
echo "<option value=\"\"> <-- Seleccione un Item </option>";
}
mysql_free_result($consulta_hija);
echo "</select>\n\n";
echo "<input type=\"submit\" name=\"enviado\" value=\" Enviar \" >\n\n";
echo "</form>\n";
}
?>
Lenguajes:
id / lenguaje
1 / lenguaje 1
2 / lenguaje 2
Categorias:
categoria / id_lenguaje
categoria 1 / 2
categoria 2 / 1
Cual es el problema?
Muchas gracias de antemano