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>

1 Respuesta

Respuesta
-1
No entiendo muy bien lo que me comentas.
Los desplegables cambian en función del onChange que tienes en cada uno de ellos.
Dentro del action tienes a donde saltará el formulario cuando le des al botón enviar.
Creo que estás mezclando los dos conceptos, el php_self solo hace poner la dirección de la página actual.
El PHP_SELF lo utilizo para cuando emule el enviar con el evento onChange no me salga del formulario actual y me lleve la consulta a la segunda lista desplegable.
El problema es que necesito utilizar el enviar para llevar los datos del formulario a otro archivo php donde genero el código de guardar a la base de datos.
OK, si son pocos valores, te conviene ayudarte de javascript:
http://www.desarrolloweb.com/articulos/1281.php
Si no es así, puedes, al recargar la página, detectar si pulsaste el botón enviar, en cuyo caso, puedes recoger los parámetros por Post y enviarlor por GET allí donde haces la guarda en la BD

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas