Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/10/2003, 09:10
ymeza
 
Fecha de Ingreso: mayo-2002
Mensajes: 30
Antigüedad: 21 años, 11 meses
Puntos: 0
Duda sobre consulta a partir de menu desplegable

Hola tengo el siguiente codigo que genera un menu desplegable a partir de otro, esto me funciona perfectamente. El problemita que tengo ahora es que una vez que yo haya escogido una opcion (organismo) del Ministerio seleccionado me genere una consulta sobre dicho organismo, pero mas abajo coloco el codigo de la consulta que estoy realizando y lo que pasa es que me presenta todos los detalles de todos los organismos asociados a ese Ministerio. Por ejemplo: selecciono el Ministerio A y se genera un menu con los organismos 1,2 y 3, yo escojo al organismo 2, entonces me realiza la consulta de todos los organismos (1,2 y 3) en vez del 2 nada más. Cabe destacar que estoy usando dos tablas: ministerios y organismos

A ver que puede estar sucediendo

Codigo Menu desplegable:
-------------------------------------------------------
<?//Conexion con la base//
$host="localhost";$user="xx";$pass="yxx";$conn

="xxxx";
$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 "Ministerios: ".$_POST['id_min']."<br>";
echo "Organismos: ".$_POST['id_org'];


include("compara1.php");

} 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 Selec "Ministerios".
echo "<select name=\"id_min\"

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

</option>\n";

$consulta_ministerios = "select * from

ministerios";
$rconsultmin = pg_exec($db, $consulta_ministerios);

while

($registro_ministerio=pg_fetch_array($rconsultmin) )
{
// 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 ==

$registro_ministerio['id_min']){
echo "<option value=\"".$row['id_min']."\"

selected>".$registro_ministerio['ministerio']."</op

tion>\n";
} else {
echo "<option

value=\"".$registro_ministerio['id_min']."\">".$reg

istro_ministerio['ministerio']."</option>\n";
}
}
echo "</select>\n\n";

pg_freeresult($rconsultmin); // 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 organismo
// se muestra el mensaje de "seleccione un item"

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


$consulta_organismos = "select * from organismos

where id_min='$id_min'";
$rconsultorg = pg_exec($db, $consulta_organismos);


// se mira el total de registros de la

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

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

while

($registro_organismo=pg_fetch_array($rconsultorg))
{

echo "<option

value=\"".$registro_organismo['id_org']."\">".$regi

stro_organismo['organismo']."</option>\n";
}
} else {
echo "<option value=\"\"> No hay

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

Item </option>";
}

pg_freeresult($rconsultorg); // Liberar memoria

usada por consulta.

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

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

?>


La consulta que realizo en compara1.php es:
-----------------------------------------------------

$query = "select * from organismos where

id_min='$id_min'";