Foros del Web » Programando para Internet » PHP »

Consulta en busqueda por precio no devuelve resultados correctos

Estas en el tema de Consulta en busqueda por precio no devuelve resultados correctos en el foro de PHP en Foros del Web. En mi base de datos de una compañia inmobiliaria me pidieron crear una busqueda por precio, en la siguiente query me entrega los resulatado pero ...
  #1 (permalink)  
Antiguo 16/06/2011, 10:34
Avatar de paloma8513  
Fecha de Ingreso: enero-2011
Ubicación: Mexico DF
Mensajes: 23
Antigüedad: 13 años, 10 meses
Puntos: 1
Consulta en busqueda por precio no devuelve resultados correctos

En mi base de datos de una compañia inmobiliaria me pidieron crear una busqueda por precio, en la siguiente query me entrega los resulatado pero tambien me entrega cosas que no quiero, le pido como ven busque propiedades de 300,000 pesos o menos y me las muestra pero tambien me muestra las de 1,300,000 1,000,000 y mas, las que no me muestra son las que estan entre el rango de 300,001 a 999,999

este es el codigo que utilizo

Código:


Código PHP:
Ver original
  1. $query = "SELECT idelemento, idcartera,  precioc,  publicado,   FROM  celementos
  2.                     WHERE precioc <= '300,000'
  3.                     AND idelemento = idelemento
  4.                     AND publicado = 1
  5.                     AND idcartera IN ('7','8','9','10','11','12','13','14','15')
  6.                     ORDER BY idelemento DESC";
Tambien probe con BETWEEN

Código:


Código PHP:
Ver original
  1. $query = "SELECT idelemento, idcartera, precioc, publicado, FROM  celementos
  2.                     WHERE precioc BETWEEN '99,000' AND '300,000'
  3.                     AND idelemento = idelemento
  4.                     AND publicado = 1
  5.                     AND idcartera IN ('7','8','9','10','11','12','13','14','15')
  6.                     ORDER BY idelemento DESC";
Por lo demas el codigo sireve para cualquier otra busqueda, solo con los precios es donde no me sale

Agradecere cualquier ayuda ya que supongo que es algo muy sencillo nada mas que no le encuentro por donde
  #2 (permalink)  
Antiguo 16/06/2011, 10:40
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 9 meses
Puntos: 177
Respuesta: Consulta en busqueda por precio no devuelve resultados correctos

probaste en reemplazar la coma por un punto

300,000

300.000

o directamente sacando la coma
300000



.
__________________
la la la
  #3 (permalink)  
Antiguo 16/06/2011, 11:03
Avatar de paloma8513  
Fecha de Ingreso: enero-2011
Ubicación: Mexico DF
Mensajes: 23
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Consulta en busqueda por precio no devuelve resultados correctos

Pues hice la prueba y nada, sigue mostrando los mismos resultados ni con punto ni sin e, se muestra exactamente lo mismo no hay cambios, para evitar errores, vacie el cache del navegador y volvi a cargar la pagina para descartar que no carge los cambios y ni asi me sigue mostrando lo mismo
  #4 (permalink)  
Antiguo 17/06/2011, 12:42
Avatar de paloma8513  
Fecha de Ingreso: enero-2011
Ubicación: Mexico DF
Mensajes: 23
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Consulta en busqueda por precio no devuelve resultados correctos

Nadie???,

tambien probe si busca solamente una cantidad con LIKE y me busca por ejemplo 300,000 pero tambien busca 1,300,000 o cualquer cosa que tenga 300,000, de verdad ando muy atorada, ya que como les digo funciona pero no como yo quiero

Saludos
  #5 (permalink)  
Antiguo 17/06/2011, 12:51
 
Fecha de Ingreso: abril-2008
Mensajes: 435
Antigüedad: 16 años, 6 meses
Puntos: 10
Respuesta: Consulta en busqueda por precio no devuelve resultados correctos

proba sacando el . y la , del 300000 y no lo pongas entre comillas

saludos
  #6 (permalink)  
Antiguo 17/06/2011, 13:15
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 9 meses
Puntos: 177
Respuesta: Consulta en busqueda por precio no devuelve resultados correctos

El campo precioc Como está definido en la tabla? tendría que ser INT
__________________
la la la
  #7 (permalink)  
Antiguo 17/06/2011, 14:24
Avatar de paloma8513  
Fecha de Ingreso: enero-2011
Ubicación: Mexico DF
Mensajes: 23
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Consulta en busqueda por precio no devuelve resultados correctos

Pues quitando comas puntos comillas y demas sigue sin funcionar, el campo esta como VARCHAR, cuando lo cambie a INT me borro todas las posiciones despues de la coma. 300,000 lo dejo como 300, 1,334,450 lo dejo como 1, pero asi si hace la busqueda bien solo que los numeros me lo altero todos, ya lo regrese a VARCHART ya que en algunos campos el precio es en dolares y en el mismo campo dice 135,000 USD, en otros como ven los numeros no son ceros , les propuse poner sin comas y no quieren tiene que ser con las comas, asi que se podra hacer la busqueda con el campo VARCHAR, con comas y a veces con letras?


----NOTA----

Para todos aquellos que hagan cambios en su base de datos siempre, siempre, SIEMPRE, hagan un respaldo antes de mover lo que sea ya que como a mi me paso me cambio los datos del campo y simplemente carge el respaldo y listo nada paso, imaginense sin respaldo seria la hora de andar capturando precios.

se que todos lo hacen (o eso espero) pero no esta por demas decirlo.

saludos
  #8 (permalink)  
Antiguo 17/06/2011, 14:33
 
Fecha de Ingreso: julio-2008
Ubicación: Córdoba, Argentina
Mensajes: 266
Antigüedad: 16 años, 4 meses
Puntos: 26
Respuesta: Consulta en busqueda por precio no devuelve resultados correctos

Guardar valores numéricos de esa forma no tiene sentido porque te complicas todo, al menos a mi parecer. Insiste en guardar los datos en la BD como enteros y así vas a comprobar muy fácilmente los rangos de precios, y para mostrarlos seguramente se les puede dar el formato deseado con una función en PHP.
Un saludo.
  #9 (permalink)  
Antiguo 17/06/2011, 14:33
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 9 meses
Puntos: 177
Respuesta: Consulta en busqueda por precio no devuelve resultados correctos

El tema es que varchar no es un numero, entonces no te lo toma como tal, yo creo que tendrías que ponerlo en INT y modificar los datos, o sino crea otro campo a parte para hacer pruebas definilo como INT ingresa los precios y hacé la prueba si funciona
__________________
la la la
  #10 (permalink)  
Antiguo 17/06/2011, 14:56
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 14 años, 4 meses
Puntos: 55
Respuesta: Consulta en busqueda por precio no devuelve resultados correctos

Cita:
Iniciado por truman_truman Ver Mensaje
El tema es que varchar no es un numero, entonces no te lo toma como tal, yo creo que tendrías que ponerlo en INT y modificar los datos, o sino crea otro campo a parte para hacer pruebas definilo como INT ingresa los precios y hacé la prueba si funciona
lo que dice truman_truman es todo lo que te esta pasando estas intentando buscar datos numericos en un campo que no lo es haz el campo int y veras que tus problemas acaban.


si son muchos datos para hacerlo a pies, pues haz un while que te traiga todos los datos sacas los puntos y las comas y vas insertando todo en una tabla temporal para que no tengas problemas hasta que estes seguro que todo esta bien
__________________
<?php echo "No te metas a lo hondo del Mar si no sabes nadar, primero aprende a nadar" ?>
...Error en linea: 1 o.O
  #11 (permalink)  
Antiguo 17/06/2011, 15:06
Avatar de paloma8513  
Fecha de Ingreso: enero-2011
Ubicación: Mexico DF
Mensajes: 23
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Consulta en busqueda por precio no devuelve resultados correctos

RabidFish Tiene mucha logica lo que me dices, pero que funcion seria para darle el formato al mostrarlo, si tengo 325060 o 1000000 tendrian que mostrarse asi en la pagina 325,060 o 1,000,000 aqui el problema es que estoy trabajando sobre una base que ya estaba hecha cuando llegue a trabajar aqui, lo de las comas solo se muestra en la pagina web aqui ni siquiera saben si se ven en la base asi que si lo cambio a INT pero en la pagina me lo muestra con las comas no habria problema, y si lo cambio a INT asi nada mas me va a cambiar todos los numeros otra vez, como podria hacer para cambiar a INT sin que me borre lo que esta despues de la coma.

Saludos
  #12 (permalink)  
Antiguo 17/06/2011, 15:09
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 9 meses
Puntos: 177
Respuesta: Consulta en busqueda por precio no devuelve resultados correctos

$valor = 325060;
echo number_format($valor, 0, '', ',');
__________________
la la la

Etiquetas: devuelve, precio, resultados, busquedas
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 22:19.