Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Selección temporal

Estas en el tema de Selección temporal en el foro de PHP en Foros del Web. Antes de nada saludos a [email protected] y felicidades por estos maravillosos foros. Tengo una duda que no consigo resolver. En muchas webs se da la ...
  #1 (permalink)  
Antiguo 27/01/2013, 11:16
 
Fecha de Ingreso: enero-2013
Mensajes: 12
Antigüedad: 6 años, 10 meses
Puntos: 0
Pregunta Selección temporal

Antes de nada saludos a [email protected] y felicidades por estos maravillosos foros.
Tengo una duda que no consigo resolver. En muchas webs se da la oportunidad de elegir, de todos los registros que se listan, algunos para luego compararlos entre ellos. Es el caso de la web de mediamarkt, donde, por ejemplo, si buscas televisiones puedes marcar una casilla de verificación en las que quieres comparar.

Querría saber por qué dirección tengo que tomar para conseguir eso. ¿Tablas temporarles? ¿campos calculados? Estoy un poco perdida, bueno, un poco no, un mucho.

Desde ya muchas gracias y un beso para [email protected]
  #2 (permalink)  
Antiguo 27/01/2013, 11:51
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: Selección temporal

En realidad, es tema de desarrollo del software, más que de BBDD.
La BBDD te da los recursos, pero son las técnicas que uses para compararlos (más relacionado con BI, DW y DM), que con la estructura de la base en si...
La selección de los datos a comparar es software de usuario, no BBDD, lo que el DBMS recibe es una consulta diseñada para realizar la comparación, pero no es en esa etapa donde se define. Eso se define un par de capas más arriba, en la lógica de negocio.
El SQL y el diseño adecuado de la consulta es nuestro terreno, pero la forma de desarrollar la lógica de minería de datos, o inteligencia de negocios, creo que es más dominio de los foros de programación que de éste.
Si quieres te paso el post al foro de tu lenguaje, donde es más probable que haya gente dedicada a eso.

En lo que respecta al diseño de las consultas, necesitaríamos que nos dijeras cómo es la estructura de tus tablas como para darnos una idea de por dónde orientarte. Así como lo planteas, es muy en abstracto.
__________________
¿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 27/01/2013, 12:20
 
Fecha de Ingreso: enero-2013
Mensajes: 12
Antigüedad: 6 años, 10 meses
Puntos: 0
Respuesta: Selección temporal

Muchísimas gracias por tu rápida respuesta y disculpa si la pregunta la hice en el foro equivocado. Si eres tan amable sí me gustaría que movieras el post al foro que tú consideres correcto. Sería perfecto que se pudiese resolver con php, ya que sé un poquito y podría documentarme si alguien tiene la gentileza de encaminarme por la vía correcta para resolver el problema.

En cuanto al diseño de la base de datos es muy simple: una sola tabla de productos, lo típico id de producto, descripción, etc. El problema, como ya comenté, es que el usuario pueda seleccionar los registros que quiera, en tiempo de ejecución, para poder enviar esa consulta y hacer la comparación de productos.

Nuevamente muchísimas gracias.
Un cordial saludo.
  #4 (permalink)  
Antiguo 27/01/2013, 13:03
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: Selección temporal

Movido a PHP.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 29/01/2013, 11:48
 
Fecha de Ingreso: enero-2013
Mensajes: 12
Antigüedad: 6 años, 10 meses
Puntos: 0
Pregunta Selección temporal

Tengo una duda que no consigo resolver. En muchas webs se da la oportunidad de elegir, de todos los registros que se listan, algunos para luego compararlos entre ellos. Es el caso de la web de mediamarkt, donde, por ejemplo, si buscas televisiones puedes marcar una casilla de verificación en las que quieres comparar.

Querría saber por qué dirección tengo que tomar para conseguir eso. ¿Tablas temporarles? ¿campos calculados? Estoy un poco perdida, bueno, un poco no, un mucho.

Muchas gracias a todos.
  #6 (permalink)  
Antiguo 29/01/2013, 11:59
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 8 años, 6 meses
Puntos: 76
Respuesta: Selección temporal

hola

mmm , la pregunta es ? los productos los tienes en la base de datos? , hay una tabla que tenga las caracteristicas de cada producto ?

que tipo de comparacion buscas ?
  #7 (permalink)  
Antiguo 29/01/2013, 12:04
 
Fecha de Ingreso: enero-2013
Mensajes: 12
Antigüedad: 6 años, 10 meses
Puntos: 0
Respuesta: Selección temporal

Sí, los productos están en una tabla en una base de datos mysql. Lo que pretendo es que, al ver el listado de productos, el usuario pueda seleccionar los que desee para enviar esa consulta y mostrarle una comparativa con sólo los productos elegidos.

Espero haberme explicado.
Gracias por contestar.
Un saludo.

PD. también me valdría que alguien me dijera los términos adecuados de búsqueda en Google de este tema, que por más que lo intenté no conseguí nada.

Última edición por Alilah; 29/01/2013 a las 12:26
  #8 (permalink)  
Antiguo 29/01/2013, 12:27
 
Fecha de Ingreso: enero-2013
Mensajes: 12
Antigüedad: 6 años, 10 meses
Puntos: 0
Respuesta: Selección temporal

Por favor, ayudadme.
  #9 (permalink)  
Antiguo 29/01/2013, 12:38
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 11 años, 7 meses
Puntos: 2534
Respuesta: Selección temporal

¿Qué parte es la que no entiendes y qué llevas hecho?

Si ya tienes los datos únicamente debes hacer consultas para obtenerlos, un paso a la vez.

La comparación de los detalles es eso, únicamente una lista con los resultados y sus detalles, no más.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 29/01/2013, 12:41
 
Fecha de Ingreso: enero-2013
Mensajes: 12
Antigüedad: 6 años, 10 meses
Puntos: 0
Respuesta: Selección temporal

El problema es que no sé cómo hacer para que sea el usuario el que elija los productos y enviar la consulta.
  #11 (permalink)  
Antiguo 29/01/2013, 12:44
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 11 años, 7 meses
Puntos: 2534
Respuesta: Selección temporal

Pues si no tienes siquiera una idea visual de como es eso es complicado imaginar lo demás.

Supongo que ya tienes un catalogo, ¿verdad?

Pues yo agregaría un chekcbox para ir seleccionando los productos que me interesan, todo debe ser un formulario, y al final de la lista el botón para comparar.

Ahora, supongamos que ya tienes los IDs a comparar en un arreglo proveniente del formulario, la consulta para obtener los registros podría ser así.
Cita:
SELECT * FROM productos WHERE id IN(1, 2, 3)
Suponiendo que elegí los productos 1, 2 y 3; ahora solo restaría mostrar todo esto en una plantilla y listo!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #12 (permalink)  
Antiguo 29/01/2013, 12:47
 
Fecha de Ingreso: enero-2013
Mensajes: 12
Antigüedad: 6 años, 10 meses
Puntos: 0
Respuesta: Selección temporal

La idea del checkbox me parece muy buena. Pero ese checkbox debe estar enlazado a un campo de la base de datos ? Supongo que no. Pero si no está enlazado a ningún campo, ¿cómo lo incluyo en la consulta select?

Gracias, me estás ayudando mucho
  #13 (permalink)  
Antiguo 29/01/2013, 12:57
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 11 años, 7 meses
Puntos: 2534
Respuesta: Selección temporal

Pues supones mal, ya que finalmente te contradices, ¿si no hay relación entonces como esperas obtener sus datos de la BD?

¡Claro que debe ir enlazado!

Y así como la consulta necesita únicamente los IDs, ¿que crees que deberías enlazar?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #14 (permalink)  
Antiguo 29/01/2013, 13:01
 
Fecha de Ingreso: enero-2013
Mensajes: 12
Antigüedad: 6 años, 10 meses
Puntos: 0
Respuesta: Selección temporal

Pero si está enlazado, si hay más de un usuario consultando simultáneamente va a haber conflictos ¿no crees?
  #15 (permalink)  
Antiguo 29/01/2013, 13:06
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 11 años, 7 meses
Puntos: 2534
Respuesta: Selección temporal

No creo, a menos que me expliques por debería pasar algo así.

Tu concepto de "enlace" pienso que lo entiendes mal, yo lo llamaría "referencia" pues necesitas una referencia para obtener datos de la BD.

Aquí la única referencia que necesitas es el ID de cada productos listado, y eso no debería afectar a tus usuarios.

¿Conflictos en qué sentido?

No entiendo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #16 (permalink)  
Antiguo 29/01/2013, 13:34
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 926
Antigüedad: 12 años, 8 meses
Puntos: 269
Respuesta: Selección temporal

Alilah : Cada vez que el usuario marca el checkbox, el id del producto a comparar lo puedes guardar en una cookie.
Cuando el usuario vaya a la pagina de comparar productos, php recibirá esa cookie.Obtén de ella los id's de producto, obtén de la base de datos los registros, y los muestras uno al lado del otro.
  #17 (permalink)  
Antiguo 29/01/2013, 16:20
 
Fecha de Ingreso: enero-2013
Mensajes: 12
Antigüedad: 6 años, 10 meses
Puntos: 0
Respuesta: Selección temporal

Voy a probar con la solución de la cookie si no hay más remedio. Creí que habría alguna manera de hacer la consulta select basándose en los checkbox marcados por el usuario sin más complicación. Bueno, pues ahora me toca documentarme sobre las cookies en php, que nunca vendrá mal

Muchísimas gracias por vuestras respuestas y vuestro tiempo. Excelentes foros y foreros.
Un saludo.
  #18 (permalink)  
Antiguo 29/01/2013, 16:26
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 11 años, 7 meses
Puntos: 2534
Respuesta: Selección temporal

Cita:
Iniciado por Alilah Ver Mensaje
Creí que habría alguna manera de hacer la consulta select basándose en los checkbox marcados por el usuario sin más complicación.
Y definitivamente es posible, ya te he dicho cómo, lo único que debes pasar como value a los checkboxes es el ID del producto en cuestión.

Lo de usar cookies es exactamente lo mismo, para poder obtener el ID del checkbox debe estar presente como valor de los mismos.

La que se complica eres tu, no entiendo lo que no entiendes.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #19 (permalink)  
Antiguo 29/01/2013, 16:28
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 926
Antigüedad: 12 años, 8 meses
Puntos: 269
Respuesta: Selección temporal

Claro que puedes hacer la consulta select basandote en los checkboxes.
Mete el listado en un formulario, recibes los checkboxes, y los metes en un select.

El problema en ese caso, es que tienes que mostrar todos los productos comparables a la vez (para no complicarlo más).O sea, si el listado es paginado, se complica un poco el mantener qué cosas se han selecionado.
En mi otra solución, las cookies las pones desde javascript, y las lees en php.
  #20 (permalink)  
Antiguo 29/01/2013, 16:30
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 11 años, 7 meses
Puntos: 2534
Respuesta: Selección temporal

Eso es en definitiva buena solución, usar algo de Javascript para ir guardando los IDs en cookies.

Pero de cualquier forma hay que imprimir el ID, cosa que no entiendo lo de "Pero si está enlazado, si hay más de un usuario consultando simultáneamente va a haber conflictos ¿no crees?".
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #21 (permalink)  
Antiguo 03/02/2013, 02:17
 
Fecha de Ingreso: enero-2013
Mensajes: 12
Antigüedad: 6 años, 10 meses
Puntos: 0
Respuesta: Selección temporal

Bueno, pues al final ya está conseguido. Metí los ID elegidos por el usuario en un array y lo pasé como parámetro a la SELECT.

De nuevo muchas gracias a todos.

Besos.

Etiquetas: campos, mysql, registro, registros, tabla, temporal
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 19:01.