Ver Mensaje Individual
  #4 (permalink)  
Antiguo 01/02/2013, 13:15
eduardodp
 
Fecha de Ingreso: diciembre-2012
Ubicación: Puebla
Mensajes: 34
Antigüedad: 12 años
Puntos: 1
Actualizar solo la imagen sin recargar pagina

Hola yo sigo de pregunton tengo una lista de poductos con un icono de + si es que se quiere agregar y con un icono de - si es que se quiere quitar bueno cada imagen me manda a una pagina php que va agrendo dichos productos a un carrito y a hotra para quitar el producto bueno cada que doy click por ejemplo a agregar + me manda a la pagina para agregar y me retorna a la misma para seguir a gregando o quitando productos pero en ese ttranscurso de agregar o quitar se actualiza la pagina y para agilizar las cosas quiero que solo se actualice el icono de + y - no que recargue toda la pagina este es el codigo de los productos con las imagenes
Código HTML:
<table width="378" border="0"><?php 			while($row=mysql_fetch_array($qry))
			{		?>
  <tr>
    <td width="259"><?php echo $row['descripcion'] ?><br>
          $<?php echo $row['precio_men'];?></td>
    <td width="109"> <?php
	if(!$carro || !isset($carro[md5($row['clave'])]['identificador']) || $carro[md5($row['clave'])]['identificador']!=md5($row['clave'])){
	//si el producto no ha sido agregado, mostramos la imagen de no agregado, linkeada
	// a nuestra página de agregar producto y transmitíéndole a dicha
	//página el id del artículo y el identificador de la sesión
	?><a href="agregacar.php?<?php echo SID ?>&id=<?php echo $row['clave']; ?>&accion=agregar"><img src="../images/agregar.jpg"></a>
    <div id="menu">
<p>
    <div id="detalles"><a id="enlace1" href="pagina1.php?cod=1&<?php echo SID ?>&id=<?php echo $row['clave']; ?>">Aries</a></div></p></div>
      <?php }
	else
	//en caso contrario mostramos la otra imagen linkeada., a la página que sirve para borrar el artículo del carro.
	{?><a href="agregacar.php?<?php echo SID ?>&id=<?php echo $row['clave']; ?>&li=<?php echo 1 ?>&accion=quitar" >
    
      <img src="../images/quitar.png"> </a>
      <?php } ?>
          </td>
  </tr><?php } ?>
</table> 
Este es el codigo php de agregar y quitar
Código PHP:
<?php 
session_start
();
//error_reporting(E_ALL);
//@ini_set('display_errors', '1');
//con session_start() creamos la sesión si no existe o la retomamos si ya ha sido creada
if($acc="agregar"){
extract($_REQUEST);
//la función extract toma las claves de una matriz asociativa y las convierte en nombres de variable,
//asignándoles a esas variables valores iguales a los que tenía asociados en la matriz. Es decir, convierte a $_GET['id'] en $id,
//sin que tengamos que tomarnos el trabajo de escribir $id=$_GET['ID']; 
include('conex.php');
//incluímos la conexión a nuestra base de datos
$precio=$_POST['predit'];
if(!isset(
$cantidad)){$cantidad=1;}
$valor=0;
if(
$precio==""){
    
$precio=$_COOKIE['precio'];
    }
//Como también vamos a usar este archivo para actualizar las cantidades,
//hacemos que cuando la misma no esté indicada sea igual a 1
$qry=mysql_query("select * from productos where clave='".$id."'");
$row=mysql_fetch_array($qry);
//Si ya hemos introducido algún producto en el carro lo tendremos guardado temporalmente
//en el array superglobal $_SESSION['carro'], de manera que rescatamos los valores de dicho array
//y se los asignamos a la variable $carro, previa comprobación con isset de que $_SESSION['carro']
//ya haya sido definida
 
 
$temp $cantidad;
$uesp $row['uesp'];
$umay =$row['umay'];
$presp=$row['precio_esp'];
$premay=$row['precio_may'];
$premen=$row['precio_men'];
$pcliente=$precio;
$tipo="";
switch(
$pcliente){
case 
0:
           
$valor=0;
            break;
case 
1:

           if ((
$uesp>0)and($temp>=$uesp)){
             
//{Aplica para precio especial}
   
             
$valor$presp;
             
$tipo="Especial";
              
           }else if ((
$umay>0)and($temp>=$umay)){ 
           
//{Aplica para precio mayoreo}
            
$valor=$premay;
              
$tipo="Mayoreo";
           }else {
    
             
$valor$premen;
             
$tipo="Menudeo";
           }
     break;
      case 
2:
           if ((
$uesp>0)and($temp>=$uesp)){ 
            
//{Aplica para precio especial} 
              
             
$valor=$presp;
             
$tipo="Especial";
            
            
           }else {
 
            
            
$valor=$premay;
            
$tipo="Mayoreo";
            
           }
     break;
      case 
3:
              
               
$tipo="Especial";
            break;
              
      break;
      
      case 
5:
               
$valor=$premen;
               
$tipo="Menudeo";
             break;
      case 
6:
               
$valor=$premay;
               
$tipo="Mayoreo";
             break;
      case 
7:
               
$valor=$presp;
               
$tipo="Especial";
             break;
             
      case 
8:
               
$valor=0;
               
$tipo="Otro";
             break;
      
}
          

//$tprecio = 1 //1:menudeo, 2:mayoreo, 3:especial




if(isset($_SESSION['carro']))
$carro=$_SESSION['carro'];
//Ahora introducimos el nuevo producto en la matriz $carro, utilizando como índice el id del producto
//en cuestión, encriptado con md5. Utilizamos md5 porque genera un valor alfanumérico que luego,
//cuando busquemos un producto en particular dentro de la matriz, no podrá ser confundido con la posición
//que ocupa dentro de dicha matriz, como podría ocurrir si fuera sólo numérico.
//Cabe aclarar que si el producto ya había sido agregado antes, los nuevos valores que le asignemos reemplazarán
//a los viejos. 
//Al mismo tiempo, y no porque sea estrictamente necesario sino a modo de ejemplo, guardamos más de un valor 
//en la variable $carro, valiéndonos de nuevo de la herramienta array.
$carro[md5($id)]=array('identificador'=>md5($id),'cantidad'=>$cantidad,'producto'=>$row['descripcion'],'precio'=>$valor,'id'=>$id,
'tipo_precio'=>$tipo);
//Ahora dentro de la sesión ($_SESSION['carro']) tenemos sólo los valores que teníamos (si es que teníamos alguno) antes de ingresar
//a esta página y en la variable $carro tenemos esos mismos valores más el que acabamos de sumar. De manera que 
//tenemos que actualizar (reemplazar) la variable de sesión por la variable $carro.
$_SESSION['carro']=$carro;
//Y volvemos a nuestro catálogo de artículos. La cadena SID representa al identificador de la sesión, que, dependiendo 
//de la configuración del servidor y de si el usuario tiene o no activadas las cookies puede no ser necesario pasarla por la url.
//Pero para que nuestro carro funcione, independientemente de esos factores, conviene escribirla siempre.
header("Location:ctalogo.php?".SID);
}else if(
$acc=="quitar"){
    
$lin=$_GET['li'];

session_start();

//error_reporting(E_ALL);

//@ini_set('display_errors', '1');

//con session_start() creamos la sesión si no existe o la retomamos si ya ha sido creada

extract($_GET);

//Como antes, usamos extract() por comodidad, pero podemos no hacerlo tranquilamente
$carro=$_SESSION['carro'];

//Asignamos a la variable $carro los valores guardados en la sessión

unset($carro[md5($id)]);

//la función unset borra el elemento de un array que le pasemos por parámetro. En este

//caso la usamos para borrar el elemento cuyo id le pasemos a la página por la url 

$_SESSION['carro']=$carro;

//Finalmente, actualizamos la sessión, como hicimos cuando agregamos un producto y volvemos al catálogo

header("Location:catalogo.php?".SID);


    
    
    }
?>