Foros del Web » Programando para Internet » PHP »

Buscar valores repetidos en $_SESSION

Estas en el tema de Buscar valores repetidos en $_SESSION en el foro de PHP en Foros del Web. Tengo un carrito de compras q habia empezado hace unos 3 meses ...y voy a empezar a retomar , está con AJAX, PHP y MYSQL... ...
  #1 (permalink)  
Antiguo 04/08/2006, 10:10
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 2 meses
Puntos: 3
Buscar valores repetidos en $_SESSION

Tengo un carrito de compras q habia empezado hace unos 3 meses ...y voy a empezar a retomar , está con AJAX, PHP y MYSQL...
El funcionamiento es q tengo una zona, q simula una cesta(una capa con CSS), entonces el usuario al arrastrar el producto a la cesta.. hago una llamada asincrona para q PHP lo vaya guardando en una session,primero me llega el id, luego lo busco en la BD , y me da su nombre, en eso no tengo problema..
Mi duda, es q a la hora de mostrar el carrito... supongamos q el array tiene esto:
1 laptop
1 impresora
1 mouse
1 laptop
1 laptop

Como puedo hacer para que me de el resultado asi:
3 laptop
1 impresora
1 mouse

Gracias de antemano..
! saludos!
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
  #2 (permalink)  
Antiguo 04/08/2006, 10:19
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo

Pues no existe un funcion ya definada en php que te ayude con esto.

Lo que yo haria es en el momento de insertar en la cesta el producto checar si el id del producto existe en el arreglo y de serlo incrementar en uno la cantidad de dicho producto.

Saludillos.
  #3 (permalink)  
Antiguo 04/08/2006, 10:25
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 2 meses
Puntos: 3
Como hago eso? haciendo un foreach y recorreriendo todo el arreglo?
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
  #4 (permalink)  
Antiguo 04/08/2006, 10:32
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Podrías usar:

array_count_values()
http://www.php.net/manual/en/functio...unt-values.php

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 04/08/2006, 10:37
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 2 meses
Puntos: 3
Genial Cluster,me servira... thkx
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
  #6 (permalink)  
Antiguo 04/08/2006, 10:53
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 9 meses
Puntos: 0
Tambien podrías usar in_array para saber si un elemento ya existe.

Saludos
__________________
La muerte es un camino que todos debemos recorrer...
  #7 (permalink)  
Antiguo 04/08/2006, 11:03
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 2 meses
Puntos: 3
Gracias... pero se me hace mas sencilla la opcion q me dijo Cluster, ya q en el array al momento de el arrastre a la cesta, instantaneamente se suma el nombre del producto a la session, entonces si se introdujo varias veces el mismo producto , a la hora de mostrar el carrito saldra:
Código PHP:
Array{
[
Laptop]=> 3

Y asi ya no me tengo q preocupar por contarlos yo, o buscar si existe, para aumentarle uno..
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
  #8 (permalink)  
Antiguo 04/08/2006, 18:24
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 2 meses
Puntos: 3
Intente usar el array_count_values, pero antes me di cuenta, q todos los valores se estan metiendo en el mismo indice...
tengo una variable por el cual me llega el id del prod $id;
Entonces cuando llama AJAX a PHP, tengo el siguiente codigo:
Código PHP:
$_SESSION[items]=$id;//Donde id es una variable  q me llega por el metodo GET de AJAX(ajax.open) 
Como hago para q todo lo q me vaya llegando , lo meta en esa misma session, pero en indices diferentes, se q se puede hacer :
$_SESSION[items][$i];
Y luego incrementar $i, pero el problema seria, cuanto vale $i al principio , si la inicializo en cero , cada q aJAX llame a PHP, esa variable va inicializarse en cero,no?

Bueno, como podria hacer lo de meter datos en indices diferentes....
Saludos!!
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
  #9 (permalink)  
Antiguo 06/08/2006, 17:19
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 2 meses
Puntos: 3
Pues es muy facil :S
Código PHP:
$_SESSION[indice]+=1;

                    
$indice=$_SESSION[indice];

                    
$_SESSION[items][$indice]=$nombre;// Para q el producto lo  ponga en un indice diferente en la session 
Para indicarle a la session q fuera poniendo en un indice diferente el producto agregado "on the fly", y sobre todo para q no se perdiera el indice , por si actualizan o algo extra q pase.
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
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 21:40.