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

Filtro me lista todo...

Estas en el tema de Filtro me lista todo... en el foro de Mysql en Foros del Web. Buenas Estoy haciendo un filtro con php y mysql para que puedan buscar mediante una palabra en mi admin, el tema es que me esta ...
  #1 (permalink)  
Antiguo 01/03/2011, 11:38
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 20 años, 8 meses
Puntos: 3
Filtro me lista todo...

Buenas

Estoy haciendo un filtro con php y mysql para que puedan buscar mediante una palabra en mi admin, el tema es que me esta listando todoooooooooo, y no lo que sale en el where, porque???????

Esta es mi consulta

SELECT * FROM `team` WHERE `cCity` = "Chicago" IS NOT NULL

el asterisco es porque busca en todossssssssssss los equipos el que sea de chicago, y no sea nulo asi me muestra solo ese, sino me muestra los demas pero en blanco, que esta mal?
  #2 (permalink)  
Antiguo 01/03/2011, 12:03
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Filtro me lista todo...

Hola SeNdEr2003...

Tú estás intentando hacer dos condiciones (una con el = y otra con el IS NOT NULL), por lo tanto debes incluir un operador Lógico (OR o AND) para distinguir cada una de estas. De la manera en que estás colocando las condiciones y por la jerarquía de operadores estás haciendo esto:

(`cCity` = "Chicago") IS NOT NULL

Es decir, primero preguntas si el campo cCity es diferente de 'Chicago', las opciones de respuesta SIEMPRE ES TRUE O FALSE y por lo tanto TRUE O FALSE NO ES NULO por lo tanto te regresa todos los registros.

Tu consulta debe quedar más o menos así:

Código:
SELECT * FROM `team` WHERE `cCity` = "Chicago" and `cCity` IS NOT NULL
Es más, la segunda condición no tiene sentido, pero eso es cuestión de lógica

Haz la prueba y nos comentas

Saludos
Leo.l

Etiquetas: lista, todo, filtros
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 08:30.