Las ideas empiezan por separado, y asi estas no dan problema, el problema bien cuando intentamos usar las juntas.
1. Pues Primero creamos un formulario que sirve para crear alabaranes, funciona correcto y es la ostia, no es que lo haya hecho yo, es que funciona bien
2. Tenemos un listado en el que tras selecionar algo nos deja una nueva selecion, cosa que usa un formulario con self. (aqui os dejo el codigo para curiosos, y porque es bastante util para estas cosillas).
Bien el problema es que cuando quiero usar los dos a la vez, el segundo llama al primer formulario, y la pregunta es sencilla, hay algun a forma de evitar que auto envie el primer formulario en vez de el segundo y que solo envie el primero cuando yo clikeo en enviar ?
Código PHP:
<?php
$servidor ="localhost";
$usuario ="root";
$clave ="123456";
$basedatos ="erp";
if (!empty($_POST['enviado'])){
echo "Procesando formulario:<br>";
echo "Recibido id_departamentos: ".$_POST['id_padre']."<br>";
echo "Recibido id_areas: ".$_POST['id_hija']."<br>";
echo "Recibido id_profesores: ".$_POST['id_hija2'];
} 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'];
$id_hija=$_POST['id_hija'];
echo "<form name=\"self\" 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 departamentos";
$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['nombre']."</option>\n";
} else {
echo "<option value=\"".$registro_padre['id']."\">".$registro_padre['nombre']."</option>\n";}
}
echo "</select>\n\n";
mysql_free_result($consulta_padre);
echo "<select name=\"id_hija\" onChange=\"this.form.submit()\">\n";
echo "<option value=\"\"> Seleccione un Item </option>\n";
if (!empty($id_padre)){
$SQLconsulta_hija="SELECT * FROM areas WHERE dependencia='$id_padre'";
$consulta_hija = mysql_query($SQLconsulta_hija,$conexion) or die(mysql_error());
While ($registro_hija=mysql_fetch_assoc($consulta_hija)){
if ($id_hija == $registro_hija['id']){
echo "<option value=\"".$registro_hija['id']."\" selected>".$registro_hija['nombre']."</option>\n";
} else {
echo "<option value=\"".$registro_hija['id']."\">".$registro_hija['nombre']."</option>\n";}
}
echo "</select>\n\n";}
mysql_free_result($consulta_hija);
echo "<select name=\"id_hija2\">\n";
echo "<option value=\"\"> Seleccione un Item </option>\n";
if (!empty($id_hija)){
$SQLconsulta_hija2="SELECT * FROM profesores WHERE dependencia='$id_hija'";
$consulta_hija2 = mysql_query($SQLconsulta_hija2,$conexion) or die(mysql_error());
if (mysql_num_rows($consulta_hija2) != 0){
While ($registro_hija2=mysql_fetch_assoc($consulta_hija2)){
echo "<option value=\"".$registro_hija2['id']."\">".$registro_hija2['nombre']."</option>\n";
}
} else {
echo "<option value=\"\"> No hay registros para este Item </option>";
}
}
mysql_free_result($consulta_hija2); // Liberar memoria usada por consulta.
echo "</select>\n\n";
echo "<input type=\"submit\" name=\"enviado\" value=\" Enviar \" >\n\n";
echo "</form>\n";
}
?>