Hay un pequeno lapsus en los while
Intenta con este ejemplo
Código php:
Ver original<?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 {
$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";
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";
echo "<select name=\"id_hija\">\n";
$SQLconsulta_hija="SELECT * FROM categorias WHERE id_lenguaje ='$id_padre'";
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>";
}
echo "</select>\n\n";
echo "<input type=\"submit\" name=\"enviado\" value=\" Enviar \" >\n\n";
echo "</form>\n";
}
?>