Foros del Web » Programando para Internet » PHP »

Agrupar filtros en resultados

Estas en el tema de Agrupar filtros en resultados en el foro de PHP en Foros del Web. Hola. Estoy tratando de hacer algo parecido como hacen en los sitios de clasificados o por ejemplo mercadolibre. Uno busca algo y al lado del ...
  #1 (permalink)  
Antiguo 05/01/2010, 09:37
Avatar de lalogrosz  
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 339
Antigüedad: 22 años
Puntos: 6
Exclamación Agrupar filtros en resultados

Hola.
Estoy tratando de hacer algo parecido como hacen en los sitios de clasificados o por ejemplo mercadolibre. Uno busca algo y al lado del listado de resultados existe un listado agrupado por categoria con la cantidad de registros encontrados.
Por ejemplo:

Tipo de departamento

* Departamento (265)
* Semipiso (74)
* Piso (15)
* Dúplex (10)
* Loft (3)
* Penthouse (1)

Ubicación
o Lomas de Zamora (319)
o Almirante Brown (27)
o Avellaneda (33)
o Lanús (46)


Mi problema es que lo que hago es hacer la consulta agrupando por Tipo de departamento, y luego (otro query), agrupando por Ubicacion. Y como hay al menos 10 categorias para filtrar, tengo que hacer lo mismo por cada una y es muy costozo para el servidor.
Pense la opcion de cachear, pero hay infinidad de posibilidades de resultados y no creo que sea la mejor manera.
Tambien pense la opcion de copiar resultados a otra tabla para que sea menos costozo, pero el tema del agrupamiento es el mismo y no veo la forma de hacerlo todo en un solo query, a menos que haga el query con todo lo que tengo y a través de php lo agrupe y saque las cantidades.

Otro problema es que algunos resultados son por rango, como Superficie o Antiguedad, y no se como mostrarlos.

Dejo un ejemplo:
http://propiedades.zonaprop.com.ar/a...quiler_lnZ3979

Alguna opcion para esto?
Gracias!
__________________
"Vivir....solo cuesta Vida"
  #2 (permalink)  
Antiguo 05/01/2010, 09:43
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Agrupar filtros en resultados

podrias updatear una tabla nueva cada ves que agregan un registro con el total de registro + 1 =B
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 05/01/2010, 09:55
Avatar de TKZeXe  
Fecha de Ingreso: diciembre-2009
Ubicación: Flowers
Mensajes: 166
Antigüedad: 14 años, 4 meses
Puntos: 6
Respuesta: Agrupar filtros en resultados

Solo se explica de una forma : Mal diseño de la BDD.
Ni siquiera es la query , php o algo extra. netamente falto diseño a tu aplicaion.

Te recomiendo que antes de hacer algo asi, hagas un buen diseño de la BDD o que te lo haga alguien mas experimentado.
esas cosas cuesta solucionar cuando ya tienes el aplicativo armado,
tendrias que haber partido con una base mejor.
esperame unos minutos y te doy una idea... algo rapido.
  #4 (permalink)  
Antiguo 05/01/2010, 09:57
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Agrupar filtros en resultados

mm pero si es mas o menos lo que le dije yo.. agregale un update en la parte donde ingresan los productos en cuestión, en donde tome el valor actual (cantidad de productos) y le sume 1.. asi cuando quieras saber cuantos hay solo obtienes el valor de ahi

__________________
More about me...
~ @rhyudek1
~ Github
  #5 (permalink)  
Antiguo 05/01/2010, 10:13
Avatar de TKZeXe  
Fecha de Ingreso: diciembre-2009
Ubicación: Flowers
Mensajes: 166
Antigüedad: 14 años, 4 meses
Puntos: 6
Respuesta: Agrupar filtros en resultados

Cita:
Iniciado por Hidek1 Ver Mensaje
mm pero si es mas o menos lo que le dije yo.. agregale un update en la parte donde ingresan los productos en cuestión, en donde tome el valor actual (cantidad de productos) y le sume 1.. asi cuando quieras saber cuantos hay solo obtienes el valor de ahi

seria un update cada vez que un usuario ingresa un item, y como se pueden borrar
tendrias que hacer un count de registros lo que es demasiado peso para una bdd.
piensa que cientos de user pueden estar haciendo lo mismo.


aqui te paso una imagen de una bdd super basica a modo ejemplo que te puede servir:
http://img109.imageshack.us/i/noname1r.jpg/



con esto solo haces una consulta a tablas con pocos registros en cambio si haces una consulta a tablas de miles de registros cada vez, terminaras ahogando a motor de bdds.

saluds
  #6 (permalink)  
Antiguo 05/01/2010, 10:16
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Agrupar filtros en resultados

Cita:
Iniciado por TKZeXe Ver Mensaje
seria un update cada vez que un usuario ingresa un item, y como se pueden borrar
tendrias que hacer un count de registros lo que es demasiado peso para una bdd.
piensa que cientos de user pueden estar haciendo lo mismo.


aqui te paso una imagen de una bdd super basica a modo ejemplo que te puede servir:



con esto solo haces una consulta a tablas con pocos registros en cambio si haces una consulta a tablas de miles de registros cada vez, terminaras ahogando a motor de bdds.

saluds
de que hablas.. ? solo seria 1 consulta al ingresar un nuevo producto.. lo que necesita ver es la cantidad de productos que existe por seccion, no la cantidad de gente que esta viendo el producto..
__________________
More about me...
~ @rhyudek1
~ Github
  #7 (permalink)  
Antiguo 05/01/2010, 10:20
Avatar de TKZeXe  
Fecha de Ingreso: diciembre-2009
Ubicación: Flowers
Mensajes: 166
Antigüedad: 14 años, 4 meses
Puntos: 6
Respuesta: Agrupar filtros en resultados

Cita:
Iniciado por Hidek1 Ver Mensaje
de que hablas.. ? solo seria 1 consulta al ingresar un nuevo producto..
Una consulta, ok entonces como sabras cuantos items hay en la bdd?
porque si es autonumerico o vas sumando uno a uno, tambien tendras que restar uno cuando eso se venda ,borre o cualquier cosa, no?


lo que necesita ver es la cantidad de productos que existe por seccion, no la cantidad de gente que esta viendo el producto..

Asi es y si haces una consulta a una bdd de miles de registros solo para saber
cuantos hay es bien pesado, y un contador como columna no nos ayuda mucho.
  #8 (permalink)  
Antiguo 05/01/2010, 10:26
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Agrupar filtros en resultados

uff realmente no entendiste mi idea.. quiza no me exprese bien
yo dije UPDATE no INSERT
pones el id de la categoria.. y la cantidad que tiene total.. luego al agregar productos a ese total lo UPDATEAS agregandole 1.. y cuando vendas u otro le restas.
asi que no habria ninguna tabla gigante ni nada

__________________
More about me...
~ @rhyudek1
~ Github
  #9 (permalink)  
Antiguo 05/01/2010, 10:33
Avatar de TKZeXe  
Fecha de Ingreso: diciembre-2009
Ubicación: Flowers
Mensajes: 166
Antigüedad: 14 años, 4 meses
Puntos: 6
Respuesta: Agrupar filtros en resultados

Si es como dices el diseño que le he mostrado servirá.

bites
  #10 (permalink)  
Antiguo 05/01/2010, 10:42
Avatar de lalogrosz  
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 339
Antigüedad: 22 años
Puntos: 6
Respuesta: Agrupar filtros en resultados

Cita:
Iniciado por Hidek1 Ver Mensaje
de que hablas.. ? solo seria 1 consulta al ingresar un nuevo producto.. lo que necesita ver es la cantidad de productos que existe por seccion, no la cantidad de gente que esta viendo el producto..

Hidek1:

No me sirve esta opcion porque los datos y las cantidades se mezclan a medida que vas clickeando algun filtro. Por ejemplo si clickeas algun tipo de propiedad, la cantidad de va reduciendo y los filtros se vuelven a generar con las cantidades de ese tipo de propiedad. Fijate en el ejemplo de zonaprop.com.ar


TKZeXe
Aca pasa mas o menos lo mismo, gracias por la molestia de la imagen.
Las tablas que tienen el count solamente estan relacionadas al tipo de propiedad y a la ubicacion, de por si el count lo podria poner directamente en sus tablas respectivas ya que la relacion es 1 a 1. Pero de todas formas no tengo como filtrar las cantidades si voy haciendo click en los filtros como le decia a Hidek1. Si le agregas la relacion con la propiedad termino haciendo lo mismo que venia haciendo yo, un query por cada tabla.

Gracias a ambos!
Alguna otra idea?
__________________
"Vivir....solo cuesta Vida"
  #11 (permalink)  
Antiguo 05/01/2010, 10:50
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Agrupar filtros en resultados

solo interceptarias resultados de la tabla que te indicamos..
si eligen 2 solo sumas 2 cantidades , no registro por registro de 2 categorias
__________________
More about me...
~ @rhyudek1
~ Github
  #12 (permalink)  
Antiguo 05/01/2010, 10:58
Avatar de TKZeXe  
Fecha de Ingreso: diciembre-2009
Ubicación: Flowers
Mensajes: 166
Antigüedad: 14 años, 4 meses
Puntos: 6
Respuesta: Agrupar filtros en resultados

Obvio que tendras que hacer una query pro cada tabla si usas bdds,
no pretendas poner todo en una única tabla, te resultara tedioso y poco amigable de
extender o trabajar sobre eso.
  #13 (permalink)  
Antiguo 05/01/2010, 12:23
Avatar de lalogrosz  
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 339
Antigüedad: 22 años
Puntos: 6
Respuesta: Agrupar filtros en resultados

Pero uds vieron la velocidad que tiene zonaprop?
Mas alla de las maquinas que tenga atras, el procesamiento parece ser muy bueno, hasta parece tener cacheado los contenidos.

Seguire buscando por ahi algunas alternativas, sino seguire con lo mismo.

Gracias!
__________________
"Vivir....solo cuesta Vida"

Etiquetas: agrupar, filtros, resultados
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 11:35.