Foros del Web » Programando para Internet » PHP »

Opcion TODOS en combobox

Estas en el tema de Opcion TODOS en combobox en el foro de PHP en Foros del Web. Muchachos... a ver si me dan una mano con esto! Paso a explicar mi situacion. En una pagina tengo un formulario con 3 combobox. Ciudad, ...
  #1 (permalink)  
Antiguo 15/07/2009, 11:48
 
Fecha de Ingreso: junio-2008
Mensajes: 122
Antigüedad: 15 años, 10 meses
Puntos: 1
Opcion TODOS en combobox

Muchachos... a ver si me dan una mano con esto!

Paso a explicar mi situacion. En una pagina tengo un formulario con 3 combobox. Ciudad, categoria y zona.
Es un buscador de hoteles basicamente.
El tema es que me funciona muy bien pero quisiera poner la opcion TODOS a los combobox de manera que el usuario pueda ver todos los hoteles de una ciudad sin importar la categoria por ejemplo.

Cuando hice la prueba con MySQL le probe poner lo siguiente:

SELECT * FROM hoteles
WHERE id_ciudad = 1 AND id_zona >0

Como todas las zonas tienen un id mayor a 0 me funciono bien.

Cuando lo pase al combobox no anduvo mas.

Esto es una manera que se me habia ocurrido para solucionar el problema. Tal vez haya una mejor o mas simple.

Alguna idea de como puedo resolverlo? Estoy usando PHP con MySQL
Gracias de antemano!!!
  #2 (permalink)  
Antiguo 15/07/2009, 11:52
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Opcion TODOS en combobox

No necesitas especificar el id_zona ya que son todos. Pero como haces el codigo para añadirlo al combobox
  #3 (permalink)  
Antiguo 15/07/2009, 11:55
Avatar de Ronin46  
Fecha de Ingreso: junio-2009
Mensajes: 398
Antigüedad: 14 años, 9 meses
Puntos: 8
Respuesta: Opcion TODOS en combobox

Añades la opción "todos" al combobox y si selecciona eso pues simplemente haces un SELECT * FROM hoteles.

Supuesto 1: El usuario filtra sólo por una condicion
SELECT * FROM hoteles where condicion1 = "lo que sea"
Supuesto 2: El usuario filtra por dos condiciones
SELECT * FROM hoteles where condicion1 = "lo que sea" and condicion2 = "lo que sea"
Supuesto 3: El usuario filtra por las tres condiciones
SELECT * FROM hoteles where condicion1 = "lo que sea" and condicion2 = "lo que sea" and condicion3 = "lo que sea"
Supuesto 4: El usuario no filtra (selecciona la opción de todos en el combobox de ciudad, categoría y zona)
SELECT * FROM hoteles
  #4 (permalink)  
Antiguo 15/07/2009, 12:20
 
Fecha de Ingreso: junio-2008
Mensajes: 122
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Opcion TODOS en combobox

Claro pero yo tengo los combobox en un formulario.

No hay ninguna sentencia que me anule alguno de los condicionales?
Por ejemplo si yo tengo:

SELECT * FROM hoteles
WHERE id_ciudad = colname AND id_zona = colname2

Que si hago un select TODOS en el combobox de zonas me la deje asi:
SELECT * FROM hoteles
WHERE id_ciudad = colname

Gracias por las respuestas
Saludos
  #5 (permalink)  
Antiguo 15/07/2009, 12:29
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Opcion TODOS en combobox

Puedes crear condiciones que si selecciono uno del combo box haga un query sino que haga otro query
  #6 (permalink)  
Antiguo 15/07/2009, 12:48
 
Fecha de Ingreso: junio-2008
Mensajes: 122
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Opcion TODOS en combobox

Gracias abimaelrc!
Me podrias orientar un poco mas como hacerlo?
  #7 (permalink)  
Antiguo 15/07/2009, 13:17
Avatar de Ronin46  
Fecha de Ingreso: junio-2009
Mensajes: 398
Antigüedad: 14 años, 9 meses
Puntos: 8
Respuesta: Opcion TODOS en combobox

Una opción sería usar un IF, de modo que:

IF (ciudad = "todos")
{
haces la sentencia que no incluya filtrado por ciudad pero sí por los otros campos
}

IF (ciudad = "todos" && categoria = "todos")
{
hace sentencia que filtre solo por la zona pero que no filtre por ciudad y categoria
}

Así con todas las posibilidades
  #8 (permalink)  
Antiguo 15/07/2009, 13:19
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Opcion TODOS en combobox

Cuando seleccione en el combo box un campo por ejemplo vamos a suponer que existe uno que diga

<select name="NombreSelect">
<option value="Todos">Todos</option>
....
</select>

Cuando seleccione ese escribo en el PHP

Código PHP:
if($_POST["NombreSelect"]){
  
//query de todo
}else{
  
//query especifico

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 21:15.