Foros del Web » Programando para Internet » PHP »

elejir una opcion de un menu despl y que aparezca otro

Estas en el tema de elejir una opcion de un menu despl y que aparezca otro en el foro de PHP en Foros del Web. Como puedo hacer para que al seleccionar una opcion de mi menu desplegable me aparezca otro con las subsecciones, por ejemplo tengo uno que al ...
  #1 (permalink)  
Antiguo 08/01/2005, 04:36
 
Fecha de Ingreso: mayo-2004
Mensajes: 400
Antigüedad: 19 años, 11 meses
Puntos: 0
elejir una opcion de un menu despl y que aparezca otro

Como puedo hacer para que al seleccionar una opcion de mi menu desplegable me aparezca otro con las subsecciones, por ejemplo tengo uno que al elegir un pais me muestre otro menu con las ciudades de ese pais, algo asi es lo que quiero hacer, lei algo en las faq pero el que yo tengo toma los datos de un archivo php.

Un saludo
  #2 (permalink)  
Antiguo 08/01/2005, 08:10
Avatar de centinela77  
Fecha de Ingreso: diciembre-2004
Ubicación: León
Mensajes: 143
Antigüedad: 19 años, 3 meses
Puntos: 1
Yo suelo hacer eso mismo con un evento de javascript .. "onchange" y dependiendo de la seleccion haces un salto cargando la página de nuevo. Así haces una consulta a la base de datos con la opcion elegida y mostrando opciones en el otro desplegable.
  #3 (permalink)  
Antiguo 10/01/2005, 09:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Y .. ese "archivo php" que o como gestiona esos datos? .. donde los tienes? .. en arrays, en archivos de texto plano que esoso .php leen? .. están fijos en el HTML de tus <select> ..? ...

Un saludo,
  #4 (permalink)  
Antiguo 10/01/2005, 10:13
 
Fecha de Ingreso: mayo-2004
Mensajes: 400
Antigüedad: 19 años, 11 meses
Puntos: 0
toma los datos de otro archivo php y estan dentro de un array

$wcr=array(
'Alemania',
'Andorra',
'Angola',
'Antigua y Barbuda',
'Antillas Holandesas',
'Arabia Saudita',
etc
);

y lo llamo asi

<select name="country" class="input">
<? $p=0;asort($wcr);reset($wcr);
while (list ($p, $val) = each ($wcr)) {
if(isset($country) && ($country == $p)) echo '<option value="'.$p.'" selected>'.$val;
else echo '<option value="'.$p.'">'.$val;
}
?>
  #5 (permalink)  
Antiguo 10/01/2005, 14:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Y .. los datos del otro "select" a mostrar .. que relación guardan: otro array? .. bajo que criterio los asocias?


Un saludo,
  #6 (permalink)  
Antiguo 10/01/2005, 16:11
 
Fecha de Ingreso: mayo-2004
Mensajes: 400
Antigüedad: 19 años, 11 meses
Puntos: 0
eso es lo que quiero agregar, otro select y asociar los dos, imagino que seria bajo otro array no?
  #7 (permalink)  
Antiguo 11/01/2005, 06:21
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Puedes usar arrays bidimensionales .. o asociativas para establecer tu relación de "datos" ..

No sé si conoces los "arrays":
www.php.net/array

Un saludo,
  #8 (permalink)  
Antiguo 18/01/2005, 09:47
 
Fecha de Ingreso: mayo-2004
Mensajes: 400
Antigüedad: 19 años, 11 meses
Puntos: 0
ummm pues no, pero lo voy a mirar, gracias
  #9 (permalink)  
Antiguo 18/01/2005, 12:10
Avatar de Shevkorn  
Fecha de Ingreso: enero-2005
Ubicación: Trujillo
Mensajes: 34
Antigüedad: 19 años, 3 meses
Puntos: 1
haber si ayudo en algo:
bueno yo utilizo lo mismo en algunas aplicaciones...
y pongo esto
aca primero haces la query y luego inicializas el select
<select name="nombre" onchange="this.form.submit()">
<!--aca tus options-->
OJO:
cuando hagas tus opciones hazlo de la siguiente manera:
Tienes que tener una variable la cual almacenara el valor del primer combo y la cual vas a referenciar para seleccionar el mismo combo pero con la opcion elegida
si no entiendes sigue algo como esto:
<?php
$combo1=$_POST['combo1'];
$sql="SELECT tuscampos FROM TU_TABLA ORDER BY tu_campo_a_ordernar"; #para que se vea mas ordenado ps
# aca haces la consulta (con query claro)
echo "<form action="" method="post">"
."<select name=combo1 onchange=this.form.submit()>";
while($row=@mysql_fetch_row($id_consulta))
{
#fijate aca para seleccionar la opcion
if($row[algo]==$combo1) #algo es la opcion que vuelcas en el combo y ademàs es igual al nombre del combo o al id
{
echo "<option value=$row[otra cosa] selected >$row[algo]</option>";
}
else
{
echo "<option value=$row[otra cosa] >$row[algo]</option>";
}
}
#y ahora despues compruebas si el combo fue seleccionado entonces vuelcas la otra parte de tu query de acuerdo al combo1 o sino lo dejas vacio...
?>

Bueno espero que te haya ayudado o sino escribeme un mail ps
[email protected]
  #10 (permalink)  
Antiguo 02/02/2005, 11:45
 
Fecha de Ingreso: diciembre-2003
Mensajes: 40
Antigüedad: 20 años, 4 meses
Puntos: 0
Soy un poco torpe y no entiendo mu bien

Estoy haciendo un formulario para que me envien unos datos.
Quiero dar unas opciones con listas despegables, pero ya predefinidas, que obtenga los datos de la base de datos, los datos estan en 2 tablas.

En una tengo las zonas con 2 campos uno un nº y en otro el nombredezona
En otra Cimas, con varios campos, un nº, nombrecima, zona, provincia, altitud, etc . . .

No me sale con lo que mencionas en tu post.

Última edición por JuliusRisi; 02/02/2005 a las 17:02
  #11 (permalink)  
Antiguo 02/02/2005, 17:02
 
Fecha de Ingreso: diciembre-2003
Mensajes: 40
Antigüedad: 20 años, 4 meses
Puntos: 0
Tan complicado es que no encuentro por ningun lado?????
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 17:38.