Foros del Web » Programando para Internet » PHP »

LIST MENUS inteligentes

Estas en el tema de LIST MENUS inteligentes en el foro de PHP en Foros del Web. Tengo un buscador que ha de atacar una base de datos, el buscador se compone de list menus que se alimentan a su vez de ...
  #1 (permalink)  
Antiguo 20/03/2003, 06:48
 
Fecha de Ingreso: marzo-2003
Mensajes: 4
Antigüedad: 21 años, 8 meses
Puntos: 0
LIST MENUS inteligentes

Tengo un buscador que ha de atacar una base de datos, el buscador se compone de list menus que se alimentan a su vez de la base de datos (sus opciones salen de allí) en el caso de uno de ellos "ZONA" depende de la localidad (cada localidad tiene sus zonas, claro) por lo que decidí que la elección de la localidad se hiciera con un jump menu de javascript. Cuando abres la página, el list menu ZONA está vacio, pero cuando seleccionas una localidad, la página se recarga y el list menu "ZONA" ya está lleno.
Esto está muy bien, pero tiene inconvenientes:
Si el usuario ya ha escogido otras opciones en los otros menus "TIPO", "MODALIDAD", cuando la página recarga, estos aparecen en blanco y tiene que volver a seleccionarlos.
He desarrollado una manera para que el jump menu vuelva a lo seleccionado después de la recarga de la página, pero, ¿Como hacerlo con los list menus?
<?
$base="bla";
$tabla="DatosInmueble";
$conexion=mysql_connect("bla");
mysql_select_db($base,$conexion);
$pegar1 = "SELECT Modo FROM $tabla GROUP BY Modo";
$pegar2 = "SELECT Localidad FROM $tabla GROUP BY Localidad";
$pegar3 = "SELECT Tipo FROM $tabla GROUP BY Tipo";
$pegar4 = "SELECT Habitaciones FROM $tabla GROUP BY Habitaciones";
$pegar5 = "SELECT Precio FROM $tabla GROUP BY Precio";
?>
<script language="JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
</script>

<table width=100% border=0>
<tr>
<td bgcolor='#CCCC00'>
<form name='form1' method='post' action='resultados2.html'>
<table width='50%' border='0'>



<tr>
<td><font face='Arial, Helvetica, sans-serif' size='1'

color='#FFFF00'>Modalidad</font></td>
<td><font face="Arial, Helvetica, sans-serif" size="1" color="#FFFF00">Localidad</font></td>
<td><font face="Arial, Helvetica, sans-serif" size="1" color="#FFFF00">Zona</font></td>
<td> </td>
</tr>
<tr>
<td> <font face='Arial, Helvetica, sans-serif' size='1' color='#FFFF00'>
<select name='envio1' size='1'>
<option value="-1"></option>
<?
$resultado1 = mysql_db_query($base,$pegar1)or die (mysql_error());
while ($registro1['Modo'] = mysql_fetch_row($resultado1)){
foreach($registro1['Modo'] as $clave1){
}
?>
<option><?

echo $clave1;
}

?></option>
</select>
</font></td>
<td> <font face='Arial, Helvetica, sans-serif' size='1' color='#FFFF00'>
<select name="saltador" onChange="MM_jumpMenu('parent',this,0)">
//con esta función consigo que cuando la página recargue continue seleccionada la opción que yo haya elegido.
<option value="<?
function devuelvedato ()
{
$nulo=-1;
global $var1;
if (isset($var1))
echo $var1;
else
echo $nulo;
}
devuelvedato();
?>" selected>
<?
function devuelvedato2 ()
{
$nulo2="";
global $var1;
if (isset($var1))
echo $var1;
else
echo $nulo2;
}
devuelvedato2();
?></option>
<?
$resultado2 = mysql_db_query($base,$pegar2)or die (mysql_error());
while ($registro2['Modo'] = mysql_fetch_row($resultado2)){
foreach($registro2['Modo'] as $clave2){
}
?>
<option value="buscadorpruebas2.php?var1=<? echo $clave2; ?>"><font face="Arial, Helvetica, sans-serif" size="1" color="#FFFF00"><?
echo $clave2;
:-p //Desde aquí envio la información a la página que se acaba de recargar para que sepa que era lo que estaba elegido en el menú de salto
}
$pegar6 = "SELECT Zona FROM $tabla WHERE (Localidad='$var1') GROUP BY Zona";
?>
</font></option>
</select>
</font></td>
<td> <font face='Arial, Helvetica, sans-serif' size='1' color='#FFFF00'>
<select name='envio6' size='1'>
<option value="-1"></option>
<?
$resultado6 = mysql_db_query($base,$pegar6)or die (mysql_error());
while ($registro6['Habitaciones'] = mysql_fetch_row($resultado6)){
foreach($registro6['Habitaciones'] as $clave6){
}
?>
<option><?

echo $clave6;
}

?></option>
</select>
</font></td>
<td> </td>
</tr>
<tr>
<td><font face='Arial, Helvetica, sans-serif' size='1'

color='#FFFF00'>Habitaciones</font></td>
<td><font face='Arial, Helvetica, sans-serif' size='1'

color='#FFFF00'>Precio m&aacute;ximo:</font></td>
<td><font face='Arial, Helvetica, sans-serif' size='1'

color='#FFFF00'>Tipo</font></td>
<td> </td>
</tr>
<tr>
<td> <font face='Arial, Helvetica, sans-serif' size='1' color='#FFFF00'>
<select name='envio4' size='1'>
<option value="-1"></option>
<?
$resultado4 = mysql_db_query($base,$pegar4)or die (mysql_error());
while ($registro4['Habitaciones'] = mysql_fetch_row($resultado4)){
foreach($registro4['Habitaciones'] as $clave4){
}
?>
<option><?

echo $clave4;
}

?></option>
</select>
</font></td>
<td> <font face='Arial, Helvetica, sans-serif' size='1' color='#FFFF00'>
<select name='envio5' size='1'>
<option value="-1"></option>
<option value="300">300€</option>
<option value="600">600€</option>
<option value="900">900€</option>
<option value="1200">1200€</option>
<option value="3000">3000€</option>
<option value="6000">6000€</option>
<option value="12000">12000€</option>
<option value="18000">18000€</option>
<option value="24000">24000€</option>
<option value="30000">30000€</option>
<option value="60000">60000€</option>
<option value="90000">90000€</option>
<option value="120000">120000€</option>
<option value="180000">180000€</option>
<option value="210000">210000€</option>
<option value="240000">240000€</option>
<option value="300000">300000€</option>

</select>
</font></td>
<td><font face='Arial, Helvetica, sans-serif' size='1' color='#FFFF00'>
<select name='envio3' size='1'>
<option value="-1"></option>
<?
$resultado3 = mysql_db_query($base,$pegar3)or die (mysql_error());
while ($registro3['Tipo'] = mysql_fetch_row($resultado3)){
foreach($registro3['Tipo'] as $clave3){
}
?>
<option><font face="Arial, Helvetica, sans-serif" size="1" color="#FFFF00">
<?

echo $clave3;
}
?>
</font></option>
</select>
</font> </td>
<input type="hidden" value=<? echo $var1; ?> name="envio2">
<td><font face='Arial, Helvetica, sans-serif' size='1' color='#FFFF00'>
<input type='submit' name='Consultar' value='Consultar'>
</font></td>
</tr>
<tr>
<td><font face='Arial, Helvetica, sans-serif' size='1'

color='#FFFF00'></font></td>
<td><font face='Arial, Helvetica, sans-serif' size='1'

color='#FFFF00'></font></td>
<td><font face='Arial, Helvetica, sans-serif' size='1'

color='#FFFF00'></font></td>

<td> </td>
</tr>



</table>
</form>
</td>
</tr>

</table>
<?


mysql_close();

?>
  #2 (permalink)  
Antiguo 20/03/2003, 08:39
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Revisa esta FAQ de este foro:
http://www.forosdelweb.com/showthrea...608#post327608

Un saludo,

pd: CUando pongas código PHP .. usa el boton "PHP" previo seleccinado tu código .. ser verá coloreado y mas claro.
__________________
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 22:38.