PHP - Cambiar valor Instancia con Ajax

   
Vista:
Imágen de perfil de Luis

Cambiar valor Instancia con Ajax

Publicado por Luis saavedraphp@gmail.com (7 intervenciones) el 28/12/2012 16:28:27
Hola a todos:

Mi consulta es como puedo cambiar el valor de una instancia con ajax. Yo tengo un carrito de compra cambio las cantidades con ajax hasta ahí todo bien pero si el usuario da F5 o se va a otra página por ejemplo a crear información de de su tarjeta de credito o a registrarse si no es usuario registrado y quiere volver al carrito nuevamente no ve los cambios que hizo ya que el ejax solo cambia los objetos DOM del HTML y no logro como cambiar los valores de la instancia del carrito dejo aquí mi codigo aver si me pueden ayudar.


/**************************************** file shopping.php

1
2
3
4
5
6
7
8
var url="operacion_ajax.php";
	var cbo_paquete = document.getElementById('cbo_paquete_producto_'+item).options[document.getElementById('cbo_paquete_producto_'+item).selectedIndex].value;
	var cbo_cantidad = document.getElementById('cbo_prod_cant_max_pers_'+item).options[document.getElementById('cbo_prod_cant_max_pers_'+item).selectedIndex].value;
 
 
	url=url+"?accion=obtener_precio&id="+cbo_paquete+'&cantidad='+cbo_cantidad+'&item='+item;
 
	url=url+"&sid="+Math.random();//for not get un page cache server


//******************************ajax.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
require_once('clases/carrito.php');
if(!session_is_registered('obj_carrito') && !is_object($obj_carrito))
{	$obj_carrito =new carrito;
    $_SESSION['obj_carrito'] = $obj_carrito;
 
}
else
{$obj_carrito = $_SESSION['obj_carrito'];
}
 
 
 
case 'obtener_precio':
 
	global $db, $obj_carrito;
	$sql = "select * from ofertas_x_producto
	where paqu_prod_id = ".$_GET["id"];
 
	$query = $db->sql_query($sql);
  	$fila =$db->sql_fetchrow($query);
	$obj_producto->contenido['idOferta'] = $_GET["id"];
 
 
// ESTA PARTE ES LA QUE NO HACE
	$obj_carrito->contenido[$obj_carrito->quantity-1]['productId'] = $_GET['cantidad'];
 
 
	echo $fila['precio_oferta'];
	break;



por que al regresar al margen que me cambia el DOM le doy F5 y debería a ver cambiado la cantidad del item de carrito. pero nada se mantiene igual.

Si alguien podría ayudarme muchas gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Cambiar valor Instancia con Ajax

Publicado por xve (5523 intervenciones) el 29/12/2012 08:44:47
Hola Luis, en principio, cualquier cambio que el usuario realice en el carrito, deberías de guardarlo en la base de datos, para que cuando vuelva no se te que quede desactualizado.

Si el usuario todavía no se ha dado de alta, tienes que guardar las compras por la IP del usuario.

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Luis

Cambiar valor Instancia con Ajax

Publicado por Luis (7 intervenciones) el 29/12/2012 16:26:36
Me parece la solución mas sana, ya que he estado revisando como trabaja Oscommerce y tiene la misma lógica eso lo de usuario no logeado y que guarde la IP no la sabia gracias por tu comentario.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar