Foros del Web » Programando para Internet » PHP »

¿Se puede hacer con un array?

Estas en el tema de ¿Se puede hacer con un array? en el foro de PHP en Foros del Web. ¡Hola foreros! Soy nuevo en el foro y espero poder participar siempre que pueda y sepa... Voy al grano. Estoy planificando hacer un carrito de ...
  #1 (permalink)  
Antiguo 09/01/2010, 10:52
 
Fecha de Ingreso: enero-2010
Mensajes: 27
Antigüedad: 14 años, 3 meses
Puntos: 2
¿Se puede hacer con un array?

¡Hola foreros!

Soy nuevo en el foro y espero poder participar siempre que pueda y sepa...

Voy al grano.

Estoy planificando hacer un carrito de compra, pero necesito que este incorpore atributos de los productos y no se como hacerlo. He visto que la posibilidad más cercana es con arrays multidimensionales, a ver si me ayudáis a construirlo. Digamos por ejemplo que necesito reflejar en el carrito algo así:

Ref. del producto = 1234
Color = Azul
Talla = L

Hasta aquí creo que no tengo problema, el caso es que tengo que trabajar con el supuesto de que el mismo cliente pueda es cañadir al carrito más unidades de la misma referencia con otros colores y/o tallas. No se si me he explicado bien. Cualquier ayudita será bienvenida y gracias de antemano.

Fran
  #2 (permalink)  
Antiguo 09/01/2010, 10:57
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: ¿Se puede hacer con un array?

definitivamente los arrays son considerados colecciones de información, por ende, es lo ideal... hasta recomendado para este tipo de aplicaciones...

igualmente, te sugiero practicar con arreglos mucho antes de implementarlos en tu aplicación.... ya que es necesario que los domines para que no tengas problemas mas adelante... ;)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 09/01/2010, 11:03
 
Fecha de Ingreso: enero-2010
Mensajes: 27
Antigüedad: 14 años, 3 meses
Puntos: 2
Respuesta: ¿Se puede hacer con un array?

Hola pateketrueke, gracias por tu respuesta. Más o menos entiendo lo que es un array simple y ya he practicado en local con algunos, pero me atasco en ese detalle, es decir, el poder almacenar de una misma referencia diferentes atributos y cantidades para mostrarlos en el carrito.
¿Me podrías poner algún ejemplo para poder entender mejor el uso de arrays en este sentido?

Seguiré practicando, php me ofrece muchas buenas soluciones.
  #4 (permalink)  
Antiguo 09/01/2010, 11:11
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: ¿Se puede hacer con un array?

La verdad no es complicado.

El código de referencia será nuestra referencia ( valga la redundancia )

Código PHP:
Ver original
  1. $producto = array(
  2.    'CodigoProducto_1234' => array(
  3.          'color' => 'azul',
  4.          'talla' => 'L',
  5.          'marca' => 'Dolce & Gabbana'
  6.     )
  7. );

Luego, si quieres acceder a alguno de esos atributos, lo haces de esta manera :

Código PHP:
Ver original
  1. echo $producto['CodigoProducto_1234']['color']; // Imprime 'azul'
  2. echo $producto['CodigoProducto_1234']['talla']; // imprime 'L'
  3. echo $producto['CodigoProducto_1234']['marca']; // imprime 'Dolce & Gabbana'

Es bastante sencillo la verdad.

Espero te sirva, nos vemos.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #5 (permalink)  
Antiguo 09/01/2010, 11:25
 
Fecha de Ingreso: enero-2010
Mensajes: 27
Antigüedad: 14 años, 3 meses
Puntos: 2
Respuesta: ¿Se puede hacer con un array?

gracias spider_boy, esta parte ya se como va, el caso es que si el cliente desea añadir un color más al carro ¿lo meto en otro array aparte o dentro de este? Imagina que el cliente quiere comprar una unidad de la ref. 1234 en color azul y talla L y dos más de la misma referencia (1234) pero en verde y talla XXL, es aquí donde me atasco.

Tu ejemplo es muy aclaratorio ya lo estaba usando para hacer pruebas ;)
  #6 (permalink)  
Antiguo 09/01/2010, 11:46
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: ¿Se puede hacer con un array?

Entonces, lo que se me ocurre es lo siguiente. Debido a que siempre estará agregando elementos, podríamos agregarle, al arreglo, una especie de contador.


Ej :

Código PHP:
Ver original
  1. // Contamos cuantos productos ya existen
  2. $producto = $_SESSION;
  3. $countProducto = count($producto['Usuario_X'])+1;
  4.  
  5. $producto['Usuario_X'] = array(
  6.    $countProducto => array(
  7.        'CodigoProducto_1234' => array(
  8.             'color' => 'verde',
  9.             'talla' => 'XXL'
  10.        )
  11.    )
  12. );

Lo que haría es aumentar el $countProducto en 1 (independiente de cuantos elementos tenga), para así tener otro índice con el cual manejar los datos.

Ej, suponiendo que sabes cuantos productos tiene en el carrito :

Código PHP:
Ver original
  1. echo $producto['Usuario_X'][7]['CodigoProducto_1234']['color']; // Imprime 'verde'

Agrego lo de sesión, ya que si quieres hacer un carrito de compras, deberás mantener los productos seleccionados durante toda la visita del usuario en la web. Si solo trabajamos con arrays como tal, no podremos mantener los datos entre pág y pág.

No sé si fui muy claro en esta respuesta, cualquier cosa me avisas.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #7 (permalink)  
Antiguo 09/01/2010, 12:41
 
Fecha de Ingreso: enero-2010
Mensajes: 27
Antigüedad: 14 años, 3 meses
Puntos: 2
Respuesta: ¿Se puede hacer con un array?

perfecto spider_boy! creo que ahora lo tengo más claro. Muchas gracias por las aclaraciones, voy a trabajar en ello. Estamos en contacto!

Etiquetas: Ninguno
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 04:58.