Código PHP:
// Inicio Formulario .. PHP_SELF enviamos a sí mismo (a este script).
echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n\n";
// Formar Selec "Padre".
echo "<select name=\"id_padre\" onChange=\"this.form.submit()\">\n";
echo "<option value=\"\"> Seleccione una plataforma </option>\n";
$SQLconsulta_padre="SELECT * FROM version_plataforma";
$consulta_padre = mysql_query($SQLconsulta_padre,$conexion) or die(mysql_error());
While ($registro_padre=mysql_fetch_assoc($consulta_padre)){
// Se mira si el ID del registro es el mismo q el $id_padre q recibimos si hemos cambiado el select hijo.
// Se selecciona en consecuencia (selected) la opción elegida.
if ($id_padre == $registro_padre['id_version_plataforma'])
{
echo "<option value=\"".$registro_padre['id_version_plataforma']."\" selected>".$registro_padre['ver_pla']."</option>\n";
}
else
{
echo "<option value=\"".$registro_padre['id_version_plataforma']."\">".$registro_padre['ver_pla']."</option>\n";
}
}
echo "</select>\n\n";
mysql_free_result($consulta_padre); // Liberar memoria usada por consulta.
// Formar Select "Hijo"
echo "<select name=\"id_hija\" onChange=\"this.form.submit()\">\n";
// Si $id_padre no tiene valor (caso de que no se ha seleccionado ningua opción del select hijo
// se muestra el mensaje de "seleccine un item" (del select padre).
if (!empty($id_padre))
{
echo $id_hija;
$SQLconsulta_hija="SELECT * FROM usuarios WHERE id_version_plataforma ='$id_padre'";
$consulta_hija = mysql_query($SQLconsulta_hija,$conexion) or die(mysql_error());
// se mira el total de registros de la consulta .. si es 0 se muestra mensaje en el select ..
if (mysql_num_rows($consulta_hija) != 0)
{
While ($registro_hija=mysql_fetch_assoc($consulta_hija) )
{
// Se mira si el ID del registro es el mismo q el $id_padre q recibimos si hemos cambiado el select hijo.
// Se selecciona en consecuencia (selected) la opción elegida.
if ($id_hija == $registro_hija['id_usuarios'])
{
echo "<option value=\"".$registro_hija['id_usuarios']."\" selected>".$registro_hija['Nombre']."</option>\n";
}
else
{
echo "<option value=\"".$registro_hija['id_usuarios']."\">".$registro_hija['Nombre']."</option>\n";
}
}
}
elseif(mysql_num_rows($consulta_hija) == 1)
{
echo "<option value='0'> <-- Seleccione un Usuario </option>";
echo "<option value=\"".$registro_hija['id_usuarios']."\" selected>".$registro_hija['Nombre']."</option>\n";
}
else
{
echo "<option value='0'> No hay registros para este Item </option>";
}
}
else
{
echo "<option value='0'> <-- Seleccione un Usuario </option>";
}
mysql_free_result($consulta_hija); // Liberar memoria usada por consulta.
Si selecciono una plataforma, luego un usuario y luego cambio la plataforma y envio el formulario, me envia la paltaforma correcta, pero el usuario que seleccione anteriormente
Otro fallo es cuando en la lista de usuarios solamente hay 1 usuario, no lo puedo seleccionar.
Supongo que loos errores del hijo son provocados porque el que actualiza la pagina es el padre, alguna idea para subsanar esto?
Muchisimas gracias por su tiempo