Problema de Listas dependientes de la consulta de otra
Te envío un cordial saludo.
A continuación coloco un código PHP que funciona muy bien para el trabajo de listas desplegables que dependan de una consulta hecha con la selección de una opción de otra lista.
El problema es: como hago para cuando el atributo action de la etiqueta form, ya no pase a .$_SERVER['PHP_SELF']. Sino a un archivo guardar.php donde va a realizar el guardado de toda la informacion del formulario, pues si cambio el action="guardar.php", me deja de funcionar la variable del servidor .$_SERVER['PHP_SELF'].
En conclusión el problema esta en el enviar, pues el esta trabajando en base al servidor y necesito que eso lo haga pero que cuando le de enviar me tola información a otro archivo, la verdad no se que hacer con el ACTION del FORMULARIO
<?php require_once('Connections/prueba.php'); ?>
<?php
mysql_select_db($database_prueba, $prueba);
$query_cosulgrupo = "SELECT * FROM grupo group by codgrupo";
$cosulgrupo = mysql_query($query_cosulgrupo, $prueba) or die(mysql_error());
$row_cosulgrupo = mysql_fetch_assoc($cosulgrupo);
$totalRows_cosulgrupo = mysql_num_rows($cosulgrupo);
?>
<html>
<body>
<form name="form1" method="post" action="".$_SERVER['PHP_SELF']."">
<select name="cgrupo" id="cgrupo" onChange="this.form.submit()" value="">
<?php
$codgrupo=($_POST['cgrupo']);
While ($row_cosulgrupo=mysql_fetch_assoc($cosulgrupo)){
if ($codgrupo == $row_cosulgrupo['codgrupo'])
{
echo "<option value=\"".$row_cosulgrupo['codgrupo']."\" selected>".$row_cosulgrupo['codgrupo']."</option>\n";
}
else
{
echo "<option value=\"".$row_cosulgrupo['codgrupo']."\">".$row_cosulgrupo['codgrupo']."</option>\n";
}
}
echo "</select>\n\n";
mysql_free_result($cosulgrupo);
?>
</select>
<select name="cjornada" id="cjornada">
<?php
if (!empty($codgrupo)){
$SQLcondultajornada="SELECT * FROM grupo WHERE codgrupo='$codgrupo'";
$cosulta2 = mysql_query($SQLcondultajornada,$prueba) 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($cosulta2) != 0){
While ($registro=mysql_fetch_assoc($cosulta2)){
echo "<option value=\"".$registro['codjornada']."\">".$registro['codjornada']."</option>\n";
}
} else {
echo "<option value=\"\"> No hay registros para este Item </option>";
}
} else {
echo "<option value=\"\"> <-- Seleccione un Item </option>";
}
mysql_free_result($cosulta2); // Liberar memoria usada por consulta.
echo "</select>\n\n";
?>
</select>
<input type="submit" name="Submit" value="Enviar">
</form>
</body>
</html>
A continuación coloco un código PHP que funciona muy bien para el trabajo de listas desplegables que dependan de una consulta hecha con la selección de una opción de otra lista.
El problema es: como hago para cuando el atributo action de la etiqueta form, ya no pase a .$_SERVER['PHP_SELF']. Sino a un archivo guardar.php donde va a realizar el guardado de toda la informacion del formulario, pues si cambio el action="guardar.php", me deja de funcionar la variable del servidor .$_SERVER['PHP_SELF'].
En conclusión el problema esta en el enviar, pues el esta trabajando en base al servidor y necesito que eso lo haga pero que cuando le de enviar me tola información a otro archivo, la verdad no se que hacer con el ACTION del FORMULARIO
<?php require_once('Connections/prueba.php'); ?>
<?php
mysql_select_db($database_prueba, $prueba);
$query_cosulgrupo = "SELECT * FROM grupo group by codgrupo";
$cosulgrupo = mysql_query($query_cosulgrupo, $prueba) or die(mysql_error());
$row_cosulgrupo = mysql_fetch_assoc($cosulgrupo);
$totalRows_cosulgrupo = mysql_num_rows($cosulgrupo);
?>
<html>
<body>
<form name="form1" method="post" action="".$_SERVER['PHP_SELF']."">
<select name="cgrupo" id="cgrupo" onChange="this.form.submit()" value="">
<?php
$codgrupo=($_POST['cgrupo']);
While ($row_cosulgrupo=mysql_fetch_assoc($cosulgrupo)){
if ($codgrupo == $row_cosulgrupo['codgrupo'])
{
echo "<option value=\"".$row_cosulgrupo['codgrupo']."\" selected>".$row_cosulgrupo['codgrupo']."</option>\n";
}
else
{
echo "<option value=\"".$row_cosulgrupo['codgrupo']."\">".$row_cosulgrupo['codgrupo']."</option>\n";
}
}
echo "</select>\n\n";
mysql_free_result($cosulgrupo);
?>
</select>
<select name="cjornada" id="cjornada">
<?php
if (!empty($codgrupo)){
$SQLcondultajornada="SELECT * FROM grupo WHERE codgrupo='$codgrupo'";
$cosulta2 = mysql_query($SQLcondultajornada,$prueba) 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($cosulta2) != 0){
While ($registro=mysql_fetch_assoc($cosulta2)){
echo "<option value=\"".$registro['codjornada']."\">".$registro['codjornada']."</option>\n";
}
} else {
echo "<option value=\"\"> No hay registros para este Item </option>";
}
} else {
echo "<option value=\"\"> <-- Seleccione un Item </option>";
}
mysql_free_result($cosulta2); // Liberar memoria usada por consulta.
echo "</select>\n\n";
?>
</select>
<input type="submit" name="Submit" value="Enviar">
</form>
</body>
</html>
1 Respuesta
Respuesta de Jorge Vila
-1