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

[SOLUCIONADO] Motor de búsqueda

Estas en el tema de Motor de búsqueda en el foro de Mysql en Foros del Web. asta hay la consulta funciona conrrectamente @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original SELECT * FROM datos_propiedad WHERE provincia LIKE ' % $buscar % ' AND ...
  #1 (permalink)  
Antiguo 18/11/2014, 12:13
 
Fecha de Ingreso: marzo-2014
Ubicación: cararias/lanzarote
Mensajes: 165
Antigüedad: 10 años, 8 meses
Puntos: 0
Motor de búsqueda

asta hay la consulta funciona conrrectamente
Código MySQL:
Ver original
  1. SELECT * FROM datos_propiedad
  2. WHERE provincia LIKE '%$buscar%' AND numero_habitaciones>='$habitaciones' AND numero_banio>='$banio' ORDER BY id DESC
pero al añadir otra clausula
Código MySQL:
Ver original
  1. AND precio<='$precio'
hay ya empiesa a mostrar valores erroneos

Cita:
Editado: Código de programación no permitido en foros de Bases de Datos.
Leer las normas del foro, por favor.

Última edición por gnzsoloyo; 18/11/2014 a las 12:52
  #2 (permalink)  
Antiguo 18/11/2014, 12:56
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Motor de búsqueda

Partamos d ela base que un precio es un valor o INT, DECIMAL o bien FLOAT, y que por tanto no debe ir entre apostrofos.
Ponerlo como cadena de texto podría generar errores de resultados, en especial si el campo es numérico y el valor del parámetro es un decimal con coma, en lugar de punto.

En esencia, lo de "valores erróneos" dependerá de los valores de la tabla y de los que están entrando como parámetro. Ten en cuenta que MySQL nunca se equivoca en lso resultados, sino que la consulta puede quedar mal escrita, en especial si se crea dinámicamente.

¿Podrías capturar la query creada antes de ser ejecutada, y mostrarnos un ejemplo de datos reales de esa tabla?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 18/11/2014, 13:08
 
Fecha de Ingreso: marzo-2014
Ubicación: cararias/lanzarote
Mensajes: 165
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: Motor de búsqueda

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Partamos d ela base que un precio es un valor o INT, DECIMAL o bien FLOAT, y que por tanto no debe ir entre apostrofos.
Ponerlo como cadena de texto podría generar errores de resultados, en especial si el campo es numérico y el valor del parámetro es un decimal con coma, en lugar de punto.

En esencia, lo de "valores erróneos" dependerá de los valores de la tabla y de los que están entrando como parámetro. Ten en cuenta que MySQL nunca se equivoca en lso resultados, sino que la consulta puede quedar mal escrita, en especial si se crea dinámicamente.

¿Podrías capturar la query creada antes de ser ejecutada, y mostrarnos un ejemplo de datos reales de esa tabla?
disculpa por molestar el problema era mio, que en la base de dattos guardaba el precio como varchar en ves de int
  #4 (permalink)  
Antiguo 18/11/2014, 14:19
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Motor de búsqueda

Es un error muy común al principio...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: busqueda, motor
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 12:25.