Foros del Web » Programando para Internet » PHP »

Duda para realizar consulta despues de elegir un opcion con menu desplegable

Estas en el tema de Duda para realizar consulta despues de elegir un opcion con menu desplegable en el foro de PHP en Foros del Web. Hola tengo el siguiente codigo para obtener en un menu desplegable un item de acuerdo a la opcion escogida en otro menu desplegable inicial, tomado ...
  #1 (permalink)  
Antiguo 10/10/2003, 09:30
 
Fecha de Ingreso: mayo-2002
Mensajes: 30
Antigüedad: 21 años, 11 meses
Puntos: 0
Duda para realizar consulta despues de elegir un opcion con menu desplegable

Hola tengo el siguiente codigo para obtener en un menu desplegable un item de acuerdo a la opcion escogida en otro menu desplegable inicial, tomado justamente de este foro que me funciona a la perfección. El asunto es que una vez que yo tenga las dos opciones, por ejemplo, un ministerio y el organismo adscrito debo ir a otra pagina en donde yo pueda plasmar todos los datos relacionados con ese organismo que esta adcrito a ese ministerio. En que parte de este codigo puedo direccionar a esa pagina, recordando que cuando yo selecciono el ministerio se recarga la pagina para que aparezca la lista de organismos y cuando se pulsa "Enviar" procesa solo los campos claves????


<?
//Conexion con la base//
$host="localhost";$user="user";$pass="user";$conn

="direcciones";
$db = pg_connect ("dbname=$conn user=$user

password=$pass");

// si se ha pulsado el boton enviar ($enviado) se

procesa el formulario ..
// Sino se continua con el formulario y los nuevos

valores de los Select ..


if (!empty($_POST['enviado'])){

// Procesar el formulario ...
echo "Procesando formulario:<br>";
echo "Recibido id_tabla_ministerios:

".$_POST['id_min']."<br>";
echo "Recibido id_tabla_organismos:

".$_POST['id_org'];

} else {



// Obtener el $id_min del envio a si mismo del

formulario ..
$id_min=$_POST['id_min'];

// Inicio Formulario .. PHP_SELF enviamos a si

mismo (a este script).
echo "<form action=\"".$_SERVER['PHP_SELF']."\"

method=\"POST\">\n\n";

// Formar Select "Ministerios".
echo "<select name=\"id_min\"

onChange=\"this.form.submit()\">\n";
echo "<option value=\"\"> Seleccione un Item

</option>\n";

$query = "select * from ministerios";
$result = pg_exec($db, $query);

while ($row=pg_fetch_array($result))
{
// Se mira si el ID del registro es el mismo

q el $id_min q recibimos si hemos cambiado el

select organismo.
// Se selecciona en consecuencia (selected)

la opción elegida.
if ($id_min == $row['id_min']){
echo "<option value=\"".$row['id_min']."\"

selected>".$row['ministerio']."</option>\n";
} else {
echo "<option

value=\"".$row['id_min']."\">".$row['ministerio']."

</option>\n";
}
}
echo "</select>\n\n";

pg_freeresult($result); // Liberar memoria usada

por consulta.

// Formar Select "Organismo"
echo "<select name=\"id_org\">\n";

// Si $id_min no tiene valor (caso de que no se

ha seleccionado ningua opcion del select hijo
// se muestra el mensaje de "seleccine un item"

(del select ministerios).
if (!empty($id_min)){


$query = "select * from organismos where

id_min='$id_min'";
$result = pg_exec($db, $query);


// se mira el total de registros de la

consulta .. si es 0 se muestra mensaje en el select

..
if (pg_numrows($result) != 0){

while ($row=pg_fetch_array($result))
{

echo "<option

value=\"".$row['id_org']."\">".$row['organismo']."<

/option>\n";
}
} else {
echo "<option value=\"\"> No hay

registros para este Item </option>";
}
} else {
echo "<option value=\"\"> <-- Seleccione un

Item </option>";
}

pg_freeresult($result); // Liberar memoria

usada por consulta.

echo "</select>\n\n";
echo "<input type=\"submit\" name=\"enviado\"

value=\" Enviar \" >\n\n";
echo "</form>\n";
}

?>
  #2 (permalink)  
Antiguo 10/10/2003, 09:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Aquí .. puedes procesar tus variables o redireccionar .. Pero si redireccionas tendrías que propagar las variables usadas en tu formulario en el URL ...

Código PHP:
if (!empty($_POST['enviado'])){

header("location: otrositio.php?variable=$_POST['id_min']&etc ..");
exit;

} else { 
Y a .. otrositio.php le entrarian por GET dichas variables. Lo normal sería que en ese bloque de codigo (bajo el IF) hicieras un:

Código PHP:
include("otrapagina.php"); 
que sería la que contiene tu código actual de proceso (en ese caso las variables sería globales .. .. usarias directamente los $_POST['....'] )

Y al terminar el proceso .. Rediccionar a si misma o a otra pagina .. (con header("location: ...))


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:52.