Foros del Web » Programando para Internet » PHP »

Propiedades de productos - Obtener cantidades - ¿Sobrecarga?

Estas en el tema de Propiedades de productos - Obtener cantidades - ¿Sobrecarga? en el foro de PHP en Foros del Web. Buenos días a todos. Os escribo porque no se muy bien si hay otra manera de hacer lo que necesito. tengo un catálogo de productos. ...
  #1 (permalink)  
Antiguo 26/08/2012, 03:46
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años, 1 mes
Puntos: 10
Propiedades de productos - Obtener cantidades - ¿Sobrecarga?

Buenos días a todos.

Os escribo porque no se muy bien si hay otra manera de hacer lo que necesito.

tengo un catálogo de productos.

Cada producto tiene propiedades

Entonces:

- A la IZQUIERDA voy a tener el filtro de propiedades para buscar, y a la derecha los resultados de búsqueda.

- En el filtro, hay 10 marcas, 15 tallas, 8 tipos, etc, etc

- Es necesario que me ponca: MARCA XXXX (cantidad)
---- Este es mi problema, la cantidad....

Me supone hacer 1 query por cada filtro?
---- En total 10 marcas + 15 tallas + 8 tipos + etc = 33 query's o más!!!!!

¿Se os ocurre otra forma de hacerlo y de igual manera que se muestre la cantidad de elementos que hay por filtro?

Espero vuestros comentarios.

y muchas gracias.

Un saludo.

Javier

Última edición por el_javi; 26/08/2012 a las 04:38
  #2 (permalink)  
Antiguo 27/08/2012, 07:28
 
Fecha de Ingreso: julio-2012
Ubicación: Girona
Mensajes: 63
Antigüedad: 11 años, 9 meses
Puntos: 10
Respuesta: Propiedades de productos - Obtener cantidades - ¿Sobrecarga?

no sé bien a lo que te refieres, pero si es por el tema de no realizar 33 querys, lo que puedes hacer, es realizar una única query y almacenar el resultado en un array, luego sólo tienes que leer el dato del array correspondiente y listo!

Saludos
__________________
Por favor utilizad HIGHLIGHTS en los códigos insertados para que sean más legibles
  #3 (permalink)  
Antiguo 27/08/2012, 11:20
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: Propiedades de productos - Obtener cantidades - ¿Sobrecarga?

Hola, si he entendido bien lo que necesitas hacer solo deberia hacerse con una consulta, para eso yo recomiendo lo siguiente:

En primer lugar si ya tienes claro que tipo de marcas, tallas, tipos, etc necesita colocar el usuario coloca estas opciones dentro de listas, de esa manera el usuario solo debe seleccionar y no debera escribir nada (de esa forma igual es mas facil que no se equivoque y sea mas facil la validación de datos)

segundo yo haria la consulta algo asi como:

Código PHP:
$marca=$_POST["marca"];
$tallla=$_POST["talla"];
$tipo$_POST["tipo"];
$sql"SELECT * FROM tabla WHERE marca='".$marca."' AND talla='".$talla."' AND tipo='".$tipo."';
etc, etc, etc 
Igual revisa la sintaxis porque lo escribi de afan.

Como leo que tienes un filtro por cada uno supongo que algunos de ellos son opcionales entonces es cuestión de colocar, si $talla es vacio no inserte nada, en caso contrario inserte dentro del arreglo de la búsqueda la sentencia sql correspondiente

Código PHP:
$sql="SELECT * FROM TABLA WHERE ".$opciontalla
donde $opciontalla obviamente sera la sintaxis sql que busque talla.

No se si me estoy liando mucho con la explicación pero la idea es que según este el filtro aplicado o no le vayas añadiendo strings que ayuden a completar la sentencia completa de búsqueda.
__________________
Blog de humor http://elcuasatar.net63.net/
  #4 (permalink)  
Antiguo 27/08/2012, 12:13
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años, 1 mes
Puntos: 10
Respuesta: Propiedades de productos - Obtener cantidades - ¿Sobrecarga?

Hola cuasatar

Gracias por la contestación.

Como elementos que se olvidaron comentar decir que las propiedades o filtros son dinámicas..

No voy a saber por programación el nombre de las mismas, porque las administran desde el CMS que controla esto.


Os doy detalles de la estructura de datos:

- Productos:
---- PRODUCT_ID
---- PRODUCT_name
---- PRODUCT_descritpion
---- ...


- Filtros:
---- FILTER_ID
---- FILTER_name
---- FILTER_options
---- PRODUCT_ID (es la relación entre el filtro y el producto, dado que cada producto tiene filtros TOTALMENTE diferentes. Habrá algún caso que la talla se repita COMO FILTRO (pero es diferente para calzado que para camisetas, que para camisetas de niño o de mujer,... talas diferentes por completo)

Por eso.. no se cómo cruzarlo para obtener
- Marcas:
---- Adidas (8 productos)
---- Nike (16 productos)
---- .... (X productos)

- Tallas:
---- 44 (5 productos)
---- 45 (12 productos)
---- XX (X productos)

- XXXX
---- XX (X productos)
---- YY (X productos)

Esto no se si especifica mejor lo que busco.

Gracias de nuevo y un saludo.

Javier
  #5 (permalink)  
Antiguo 27/08/2012, 15:28
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: Propiedades de productos - Obtener cantidades - ¿Sobrecarga?

Pues creo entender mas o menos lo que necesitas pero no se como ayudarte porque no tengo experiencia con CMS (he usado el joomla pero nunca me he puesto a crearle aplicativos usando mi propio código) Yo te recomiendo que vayas al foro del aplicativo mas que todo para que sepas como es la estructura de las tablas y como se manejan las relaciones entre filtros. Si lo tienes claro tratamos de seguir ayudando en la medida de lo posible.

p.s. Eso es lo que no me gusta de los CMS en general. te facilitan la vida bastante pero si necesitas adaptarlo a tu gusto tarde o temprano te tocara saber como fue que se programo.
__________________
Blog de humor http://elcuasatar.net63.net/
  #6 (permalink)  
Antiguo 28/08/2012, 01:28
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años, 1 mes
Puntos: 10
Respuesta: Propiedades de productos - Obtener cantidades - ¿Sobrecarga?

cuasatar

No es un CMS cualquiera ni nada raro. Es MI propio CMS, desarrollado por mi y manejado y controlado al 300% por mi.

Si lo único que pregunto es si se os ocurre la manera mediante una única consulta de obtener lo que necesito....

Algún ejemplo de Query o algo que me oriente al respecto....

No tengo problemas con el CMS ni nada.

Es un sistema dinámico de propiedades (filtros) para unos elementos, y entrelazarlos mediante una única query para no sobrecargar el sistema

Javier
  #7 (permalink)  
Antiguo 28/08/2012, 10:18
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: Propiedades de productos - Obtener cantidades - ¿Sobrecarga?

Hola:


Complementando un poco lo que comente en el post pasado resumo lo que yo creo que quieres hacer y como deberias hacerlo. No se si he entendido al 100% el problema pero creo que serviria:

Cita:
PRODUCT_ID (es la relación entre el filtro y el producto, dado que cada producto tiene filtros TOTALMENTE diferentes. Habrá algún caso que la talla se repita COMO FILTRO (pero es diferente para calzado que para camisetas, que para camisetas de niño o de mujer,... talas diferentes por completo)
Cuando un usuario selecciona este tipo de producto le saldra una serie de filtros, por ejemplo marcas y tallas. Como cada producto es diferente (en cuanto a los filtros) pues debes crear la logica para cada filtro en especial pero al final el método para trabajarlos es igual.

Código PHP:
$marcas=$_POST["marcas"];
$tallas=$_POST["tallas"];
$logicamarcas=" AND marcas='".$marcas."'";
$logicatallas=" AND tallas='".$tallas."'";
//aqui colocar los demas posibles filtros (sera dinamico en función de la decisión tomada, aqui solo pongo el ejemplo para un posible caso)
$sql="SELECT * FROM table WHERE id_product='25'";
if isset(
$marcas){//si existe marcas añada la logica sql para esa condición 
$sql.=$logicamarcas;

if isset(
$tallas){//si existe marcas añada la logica sql para esa condición 
$sql.=$logicatallas;


//etc etc etc en funcion de los x filtros que tenga ese producto en especial y al final de todas las verificaciones si se realiza la consulta y despliegas por pantalla los datos que te interese mostrar 
Tal y como te digo, seguramente le tendras que hacer algunos cambios y este es solo a modo de ejemplo de como se me ocurrio a mi, ya es cosa de trabajarlo un poco mas.

Espero que con este ejemplo puedas crear tu propia solución. Igual me retiro del tema porque no tengo tiempo libre para seguir colaborando, pero en verdad espero que te sirva de guía. Yo creo que podria funcionar.
__________________
Blog de humor http://elcuasatar.net63.net/

Etiquetas: productos, propiedades, cantidad
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:36.