Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/02/2012, 09:12
Avatar de Pelipe
Pelipe
 
Fecha de Ingreso: abril-2011
Ubicación: Nuestra Señora de La Paz
Mensajes: 90
Antigüedad: 13 años
Puntos: 4
Como utlizar un mismo codigo Ajax par añadir productos

Estoy con Ajax para un carrito de compras pero tengo problemas con..
...mi codigo siguiente no me funciona para añadir mis productos a mi carrito de compras.

En si quiero que un mismo codigo funciona para añadir varios productos dependiendo de cuantas veces se ejecute el while que toma datos de una tabla mysql

¿Cual seria el problema?


Código PHP:
Ver original
  1. <?php while($row=mysql_fetch_assoc($_pagi_result)){ ?>[/
  2. <div id="Producto_ESTADO_<?php echo $row['id'];?>">
  3.     <div id="Producto_NO">
  4.         <a href="javascript:agregar(<?php echo $row['id'];?>)">Agregar Producto</a>
  5.     </div>
  6. </div>
  7. <?php } ?>

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. function getXMLHTTPRequest() {try {req = new XMLHttpRequest();} catch(err1) {try {req = new ActiveXObject("Msxml2.XMLHTTP");} catch (err2) {try {req = new ActiveXObject("Microsoft.XMLHTTP");} catch (err3) {req = false;}}}return req;}
  3. var pe = getXMLHTTPRequest();
  4.  
  5. function agregar(id) {
  6.     var azar = parseInt(Math.random()*99999999);
  7.     var url = "agregar.php?id=" + id;
  8.     pe.open("GET", url + "&rand=" + azar, true);
  9.     pe.onreadystatechange = Res(id);
  10.     pe.send(null);
  11.     document.getElementById("Producto_ESTADO_" + id).innerHTML = "<img src='cargando.gif' />";
  12. }
  13. function Res(id) {//hasta aca funciona y me reconoce el id, pero parece que no inicia el getXMLHTTPRequest
  14.     if (pe.readyState == 4) {
  15.         if (pe.status == 200) {
  16.             document.getElementById("Producto_ESTADO_" + id).innerHTML = "<div id='Producto_SI'><a href='javascript:borrar(<?php echo $row['id'];?>)' >Borrar Producto</a></div>";
  17.             alert('Fue añadido el producto: '+id);
  18.         } else {
  19.             alert("ERROR no se pudo añadir producto");
  20.             document.getElementById("Producto_ESTADO_" + id).innerHTML = "<div id='Producto_NO'><a href='javascript:agregar(<?php echo $row['id'];?>)' ></a>Agregar Producto</div>";
  21.         }
  22.     }
  23. }
  24. </script>


En si funciona cuando pongo este codigo javascript dentro de while y lo hago para cada producto unicamente... pero lo malo es que el codigo se repite si el while es 20 20 veces aumentando los KB del archivo...

No se si me entedieron la idea...