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

[SOLUCIONADO] Como hacer un motor de busqueda con php y mysql con varios condicionales

Estas en el tema de Como hacer un motor de busqueda con php y mysql con varios condicionales en el foro de Mysql en Foros del Web. tengo el siquiente motor de busqueda @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original SELECT * FROM datos_propiedad WHERE provincia LIKE ' % $buscar % ' pero ...
  #1 (permalink)  
Antiguo 17/11/2014, 18:46
 
Fecha de Ingreso: marzo-2014
Ubicación: cararias/lanzarote
Mensajes: 165
Antigüedad: 10 años, 1 mes
Puntos: 0
Como hacer un motor de busqueda con php y mysql con varios condicionales

tengo el siquiente motor de busqueda
Código MySQL:
Ver original
  1. SELECT * FROM datos_propiedad WHERE provincia LIKE '%$buscar%'
pero quiero que si el usuario elige 2 habitaciones que solo se muestren los registros con dos habitaciones y si elige un precio mayor a x cantidad que los registros solo aparescan iguales o menor a ese precio y los registros de dos habitaciones

Cita:
Editado: Código de programación no permitido en foros de Bases de Datos.
Leer las normas del foro, por favor.
  #2 (permalink)  
Antiguo 17/11/2014, 18:52
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Como hacer un motor de busqueda con php y mysql con varios condicionales

Cada una de las condiciones adicionales que quieres, es una condición que se suma al WHERE, o es un cambio de sintaxis en la consulta. No es algo sencillo en ciertas ocasiones.
La cantidad de habitaciones en el resultado dependerá de cómo almacenas ese dato. Podría ser un campo adicional de la tabla, o bien podría tratarse de una tabla relacionada, si el modelo de datos es más normalziado.
Por su lado el precio podría estar en una lista de precios relacionados a las propiedades, o depender de un esquema de ofertas, en cualquiera de los dos casos necesitarías un JOIN a otra/s tabla/s para resolverlo.

Lo que si es seguro es que NO se puede hacer todo eso con una sola tabla. No es eficiente, ni conveniente, requiere un mejor modelado que una simple tabla.
Necesitaríamos ver el esquema completo de la base...
__________________
¿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 17/11/2014, 19:11
 
Fecha de Ingreso: marzo-2014
Ubicación: cararias/lanzarote
Mensajes: 165
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Como hacer un motor de busqueda con php y mysql con varios condicionales

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Cada una de las condiciones adicionales que quieres, es una condición que se suma al WHERE, o es un cambio de sintaxis en la consulta. No es algo sencillo en ciertas ocasiones.
La cantidad de habitaciones en el resultado dependerá de cómo almacenas ese dato. Podría ser un campo adicional de la tabla, o bien podría tratarse de una tabla relacionada, si el modelo de datos es más normalziado.
Por su lado el precio podría estar en una lista de precios relacionados a las propiedades, o depender de un esquema de ofertas, en cualquiera de los dos casos necesitarías un JOIN a otra/s tabla/s para resolverlo.

Lo que si es seguro es que NO se puede hacer todo eso con una sola tabla. No es eficiente, ni conveniente, requiere un mejor modelado que una simple tabla.
Necesitaríamos ver el esquema completo de la base...
TODO esta en la misma tabla el precio el numero de habitaciones y el numero de baños todo con respecto a ese registro menos el usuario claro que lo tengo en otra tabla entonces lo mas recomendable seria aser un left join?
  #4 (permalink)  
Antiguo 17/11/2014, 19:58
 
Fecha de Ingreso: marzo-2014
Ubicación: cararias/lanzarote
Mensajes: 165
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Como hacer un motor de busqueda con php y mysql con varios condicionales

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Cada una de las condiciones adicionales que quieres, es una condición que se suma al WHERE, o es un cambio de sintaxis en la consulta. No es algo sencillo en ciertas ocasiones.
La cantidad de habitaciones en el resultado dependerá de cómo almacenas ese dato. Podría ser un campo adicional de la tabla, o bien podría tratarse de una tabla relacionada, si el modelo de datos es más normalziado.
Por su lado el precio podría estar en una lista de precios relacionados a las propiedades, o depender de un esquema de ofertas, en cualquiera de los dos casos necesitarías un JOIN a otra/s tabla/s para resolverlo.

Lo que si es seguro es que NO se puede hacer todo eso con una sola tabla. No es eficiente, ni conveniente, requiere un mejor modelado que una simple tabla.
Necesitaríamos ver el esquema completo de la base...
al menos dame una idea de como se podria hacer, no tengo mucha esperiensia con bases de datos =(
  #5 (permalink)  
Antiguo 18/11/2014, 10:17
 
Fecha de Ingreso: marzo-2014
Ubicación: cararias/lanzarote
Mensajes: 165
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Como hacer un motor de busqueda con php y mysql con varios condicionales

lo colucione de este modo
Código MySQL:
Ver original
  1. SELECT * FROM datos_propiedad WHERE provincia LIKE '%$buscar%' ORDER BY id DESC

Cita:
Editado: Código de programación no permitido en foros de BBDD. Sólo SQL.
Leer lasnormas del foro, por favor.,

Última edición por gnzsoloyo; 18/11/2014 a las 10:35

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 05:18.