Foros del Web » Programando para Internet » PHP »

Crear lista dinámica a partir de valores de listas estáticas

Estas en el tema de Crear lista dinámica a partir de valores de listas estáticas en el foro de PHP en Foros del Web. Hola a tod@s: Tengo 2 listas estáticas para poder seleccionar unos valores.Dichos valores en realidad son filtraciones a la hora de buscar en una tabla,es ...
  #1 (permalink)  
Antiguo 16/09/2004, 05:56
 
Fecha de Ingreso: octubre-2003
Mensajes: 146
Antigüedad: 20 años, 6 meses
Puntos: 1
Crear lista dinámica a partir de valores de listas estáticas

Hola a tod@s:

Tengo 2 listas estáticas para poder seleccionar unos valores.Dichos valores en realidad son filtraciones a la hora de buscar en una tabla,es decir,tengo que construir una tercera lista dinámica en función de dichos valores(los valores de las 2 listas estáticas serán campos de una tabla y a la hora de construir la tercera lista a través de una consulta MySql la consulta será ...... WHERE (condición lista1) AND (condición lista2)

Por ejemplo,tengo una lista tipo méritos y otra lista estado de méritos y en función de dichas elecciones crear una tercera lista dinámica tras consultar a una tabla.¿Me habéis entendido?.

Creo que me he explicado bien,el problema es que no sé como hacer esto :s y en la web no he encontrado información al respecto.¿Me podéis ayudar?
Muchas gracias anticipadas.Un saludo
__________________
·۰•●Pi®®ili●•۰· Lo esencial es invisible a los ojos

Última edición por pirrilon; 16/09/2004 a las 05:59
  #2 (permalink)  
Antiguo 16/09/2004, 07:29
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 22 años, 3 meses
Puntos: 1
Saludos.

Cuando dices LISTAS te refieres a unos arreglos, a tablas de tu Db o a listas de selección en un form??
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
  #3 (permalink)  
Antiguo 16/09/2004, 07:58
 
Fecha de Ingreso: octubre-2003
Mensajes: 146
Antigüedad: 20 años, 6 meses
Puntos: 1
Me refiero a listas de seleccion en un form.

Tengo un form con 2 listas select estáticas y en función de dichos valores crear otra lista select dinámica.

Un saludo
__________________
·۰•●Pi®®ili●•۰· Lo esencial es invisible a los ojos
  #4 (permalink)  
Antiguo 16/09/2004, 08:18
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 22 años, 3 meses
Puntos: 1
Ese tercer Select lo crearas luego de dar click al primer form donde tienes los 2 primeros Select??

Ese tercer Select es el que quieres armar con el resultado del WHERE (condición lista1) AND (condición lista2) ??
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
  #5 (permalink)  
Antiguo 16/09/2004, 08:30
 
Fecha de Ingreso: octubre-2003
Mensajes: 146
Antigüedad: 20 años, 6 meses
Puntos: 1
Me gustaría que la tercer lista que tengo que crear dinámicamente estuviera dentro del mismo form,es decir,que tras elegir los valores de las 2 listas anteriores se recargara la tercera lista mediante una consulta mysql(que será la que tengamos que poner las condiciones de las 2 listas anteriores).

Tras tener los 3 valores de las listas elegidos después tengo que hacer un submit con dichos valores y en función de estos hago una consulta a otra tabla.

¿Me entendéis?
__________________
·۰•●Pi®®ili●•۰· Lo esencial es invisible a los ojos
  #6 (permalink)  
Antiguo 16/09/2004, 09:47
 
Fecha de Ingreso: junio-2004
Ubicación: Stgo, Chile
Mensajes: 51
Antigüedad: 19 años, 10 meses
Puntos: 0
Yo resolví ese problema generando arreglos en javascript con los contenidos de mi tabla mysql (del tipo select *).

Código PHP:
$sql="SELECT id,id_ciudad,nombre,estrellas FROM hotel";
$db= new db_dataweb;
$db->connect();
$db->query($sql);
echo(
"<script language='JavaScript' type='text/javascript'>");

echo(
"var hoteles=new Array();");
$i=0;
echo(
"hoteles[0]=new Array(0,0,'Todos',0);");
$i++;
while (
$db->next_record()){
      
$id_hotel=$db->f("id");
      
$nombre=$db->f("nombre");
      
$id_ciudad=$db->f("id_ciudad");
      
$id_categoria=$db->f("estrellas");
      echo(
"hoteles[".$i."]=new Array(".$id_ciudad.",".$id_hotel.",'".$nombre."',".$id_categoria.");");
      
$i++;
}
echo(
"</script>"); 
Siguiendo el ejemplo, cada vez que cambia la opcion seleccionada del SELECT de ciudades (evento onChange), se vuelve a crear el SELECT de hoteles, filtrando este arreglo.

Esa es la idea......

si quieres me contactas y te paso el código completo

Saludos
Victoria
  #7 (permalink)  
Antiguo 16/09/2004, 09:47
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 22 años, 3 meses
Puntos: 1
Ok, pero si quieres hacerlo así, hay 2 soluciones (a lo mínimo).

1) Que cuando seleccione opciones en los Select 1 y 2 se recarge la página con el Select 3 resultante de la consulta.

2) Que generes un arreglo al cargar la página con las posibles opciones de ese Select 3 y que cambie con un onchange de los Select 1 y 2.

En la primera la desventaja es que tienes que recargar la página.,
En la segunda es que tienes que generar un arreglo que puede volverse tan grande que retarde la carga inicial de la página.

Recuerda que el PHP (CONSULTAS) se ejecuta en el SERVER. No puedes hacer un onchage en un Select y que se ejecute un query al SERVER sin recargar.
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
  #8 (permalink)  
Antiguo 16/09/2004, 10:12
 
Fecha de Ingreso: octubre-2003
Mensajes: 146
Antigüedad: 20 años, 6 meses
Puntos: 1
Victoria no entendí mucho lo que me quieres decir.¿Me puedes especificar mejor?

José Molina,¿me podrías ayudar en cómo hacer la opción 1) o algún script similar o algo?

Es que soy un novatillo aún en esto del php
__________________
·۰•●Pi®®ili●•۰· Lo esencial es invisible a los ojos
  #9 (permalink)  
Antiguo 11/12/2007, 19:09
 
Fecha de Ingreso: diciembre-2007
Mensajes: 1
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Crear lista dinámica a partir de valores de listas estáticas

Hola victoria!!
Sabes soy nuevo en este foro, sabes tengo un problema con algo como este codigo, tengo un select de datos fijos, de hecho son numeros, los del mes, pero no se como indicar una consulta de acuerdo a la fecha de dia indicado, y me gustaria saber si puedes pasarme este código completo o solucionar mi problema.

Gracias de antemano

Juan Pablo.

javascript con los contenidos de mi tabla mysql (del tipo select *).

Código PHP:
$sql="SELECT id,id_ciudad,nombre,estrellas FROM hotel";
$db= new db_dataweb;
$db->connect();
$db->query($sql);
echo(
"<script language='JavaScript' type='text/javascript'>");

echo(
"var hoteles=new Array();");
$i=0;
echo(
"hoteles[0]=new Array(0,0,'Todos',0);");
$i++;
while (
$db->next_record()){
      
$id_hotel=$db->f("id");
      
$nombre=$db->f("nombre");
      
$id_ciudad=$db->f("id_ciudad");
      
$id_categoria=$db->f("estrellas");
      echo(
"hoteles[".$i."]=new Array(".$id_ciudad.",".$id_hotel.",'".$nombre."',".$id_categoria.");");
      
$i++;
}
echo(
"</script>"); 
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 20:16.