Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

duda en Sentencia sql con listas despegables

Estas en el tema de duda en Sentencia sql con listas despegables en el foro de Bases de Datos General en Foros del Web. Bueno mi primer post ya que necesito un poco de ayudita en un tema que me esta volviendo loco. Yo tengo esta sentencia sql en ...
  #1 (permalink)  
Antiguo 26/03/2008, 12:34
 
Fecha de Ingreso: marzo-2008
Mensajes: 4
Antigüedad: 16 años, 1 mes
Puntos: 0
duda en Sentencia sql con listas despegables

Bueno mi primer post ya que necesito un poco de ayudita en un tema que me esta volviendo loco.
Yo tengo esta sentencia sql en php
Código PHP:
$consulta="SELECT * FROM peliculas WHERE genero='$gener' and publicoadecuado='$cpublico' and  Productora='$cproduc' and Distribuidora='$cdistri';"
Ahora bien, yo tengo 4 listas desplegables, las cuales me mandan el valor a las 4 correspondiestes variables que tengo ($gener, $cpublico, $cproduc, $cdistri). De estas 4 listas despegables hay un valor que es el titulo de la lista despegable y el cual claramente no quiero que se envie cuando este seleccionado.
Cual es problema que si solo envio 2 valores validos, por ejemplo genero=comedia y productora=Fox, las otras 2 que me quedan enviarian el titulo dando asi ningun resultado ya que estos datos no se encuentran en la base de datos.

¿¿Como podria solucionar esto?? El titulo no lo puedo poner fuera de la lista despegable por que mo lo exigen asi.

Gracias y espero haberme explicado bien, si no es asi intentare hacerlo mejor para que me podais ayudar
  #2 (permalink)  
Antiguo 26/03/2008, 12:46
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: duda en Sentencia sql con listas despegables

Lo que tienes que hacer es filtrar los "titulos de los desplegables" y construir la query en la aplicación.
En realidad esto no tiene nada que ver con Bases de Datos.

Puede que no me haya enterado muy bien.

Salu2
  #3 (permalink)  
Antiguo 26/03/2008, 12:50
 
Fecha de Ingreso: marzo-2008
Mensajes: 4
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: duda en Sentencia sql con listas despegables

Al estar trabajando con la base de datos creia que iva aqui. Lo siento.

Y lo que me has dicho no funciona por que mandaria valor nulo, y luego al buscarlo en la base de datos, por ejemplo genero, no habria ninguno nulo, lo que quiero es que directamente en la sentencia de la consulta sql desapareciese lo de genero='$gener'
  #4 (permalink)  
Antiguo 27/03/2008, 03:46
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: duda en Sentencia sql con listas despegables

Vamos a ver,

En tu aplicacion:
$consulta="SELECT * FROM peliculas WHERE 1 = 1"

si gener no es nulo
$consulta = $consulta + " and " + "genero = $gener"

Si $cpublico no es nulo
$consulta = $consulta + " and " + "publico = $cpublico"
...
...
...

Las cosas no se hacen solas, si quieres montar una query dinamica......

Salu2
  #5 (permalink)  
Antiguo 27/03/2008, 07:36
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Re: duda en Sentencia sql con listas despegables

Como te han dicho es cuestion de construir la querry adecuadamente, primero filtras el titulo y guardas null o el valor de los desplegables en las variables correspondientes

Código:
$consulta="SELECT * FROM peliculas WHERE ";

if ($gener!=null){
         $consulta.="genero='$gener' ";
}

if ($cpublico!=null ) {
   if ($consulta!="SELECT * FROM peliculas WHERE ") {
         $consulta.="and publicoadecuado='$cpublico' ";
   }else{ 
         $consulta.="publicoadecuado='$cpublico' ";
   }
}
if ($cproduc!=null ) {
   if ($consulta!="SELECT * FROM peliculas WHERE ") {
         $consulta.="and Productora='$cproduc' ";
   }else{ 

         $consulta.="Productora='$cproduc' ";
   }
}
if ($cdistri!=null ) {
   if ($consulta!="SELECT * FROM peliculas WHERE ") {
         $consulta.="and Distribuidora='$cdistri'";
   }else{ 
         $consulta.="Distribuidora='$cdistri'";
   }
}
$consulta.=";";

Siempre puedes hacer "echo $consulta;" en tiempo de diseño para ver si se ha construido bien, cuidado con los espacios.

Quim
  #6 (permalink)  
Antiguo 27/03/2008, 09:09
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Re: duda en Sentencia sql con listas despegables

Cerrado por estar duplicado en PHP
Listas despegables multiples

Lee Las Políticas de Foros del Web.

Función de la sección de Base de Datos
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 02:56.