Foros del Web » Programando para Internet » PHP »

Eliminar articulo del carrito: como lo hago?

Estas en el tema de Eliminar articulo del carrito: como lo hago? en el foro de PHP en Foros del Web. Tengo estos archivos de un tutorial que estoy editando para armar un carrito: Archivo uno.php Código PHP: <?php   session_start ();  session_register ( 'itemsEnCesta' );  $item ...
  #1 (permalink)  
Antiguo 23/01/2007, 18:37
 
Fecha de Ingreso: marzo-2005
Mensajes: 201
Antigüedad: 19 años
Puntos: 0
Eliminar articulo del carrito: como lo hago?

Tengo estos archivos de un tutorial que estoy editando para armar un carrito:

Archivo uno.php

Código PHP:
<?php  
session_start
(); 
session_register('itemsEnCesta'); 
$item=$_POST['item']; 
$cantidad=$_POST['cantidad']; 
$itemsEnCesta=$_SESSION['itemsEnCesta']; 

if (
$item){ 
   if (!isset(
$itemsEnCesta)){ 
      
$itemsEnCesta[$item]=$cantidad
   }else{ 
      foreach(
$itemsEnCesta as $k => $v){ 
         if (
$item==$k){ 
         
$itemsEnCesta[$k]+=$cantidad
         
$encontrado=1
         } 
      } 
      if (!
$encontrado$itemsEnCesta[$item]=$cantidad
   } 

$_SESSION['itemsEnCesta']=$itemsEnCesta
?> 

<form action="<?=$PHP_SELF."?".$SID?>" method="post"> 
<input type="hidden" name="item" value="BBBB">
Art BBBB <input type="text" name="cantidad" size="20"><br> 
<input type="submit" value="Añadir a la cesta"><br> 
</form>
<form action="<?=$PHP_SELF."?".$SID?>" method="post">
<input type="hidden" name="item" value="AAAA">
Art AAAA <input type="text" name="cantidad" size="20"><br> 
<input type="submit" value="Añadir a la cesta"><br> 
</form>
<? 
if (isset($itemsEnCesta)){ 
   echo
'El contenido de la cesta de la compra es:<br>'
   foreach(
$itemsEnCesta as $k => $v){ 
      echo 
'Artículo: '.$k.' ud: '.$v.'<br>'
   } 


?>
<a href="dos.php">Resumen</a>
***********

Archivo dos.php

Código PHP:
<?php 
session_start
(); 
session_register('itemsEnCesta'); 
$item=$_POST['item']; 
$cantidad=$_POST['cantidad']; 
$itemsEnCesta=$_SESSION['itemsEnCesta']; 

if (
$item){ 
   if (!isset(
$itemsEnCesta)){ 
      
$itemsEnCesta[$item]=$cantidad
   }else{ 
      foreach(
$itemsEnCesta as $k => $v){ 
         if (
$item==$k){ 
         
$itemsEnCesta[$k]+=$cantidad
         
$encontrado=1
         } 
      } 
      if (!
$encontrado$itemsEnCesta[$item]=$cantidad
   } 

$_SESSION['itemsEnCesta']=$itemsEnCesta
 
if (isset(
$itemsEnCesta)){ 
   echo
'El contenido de la cesta de la compra es:<br>'
   foreach(
$itemsEnCesta as $k => $v){ 
      echo 
'Artículo: '.$k.' Cant.: '.$v;?>  - <a href="quitar.php?it=<? echo $v;?>">Eliminar</a><br>
      <? 
   


?>
***********

Es decir que tengo el vinculo a "quitar.php" para que elimine un articulo seleccionado. ¿Cómo debo completar el script?:

Archivo quitar.php


Código PHP:
<?php 
session_start
(); 
.......
 
?>
  #2 (permalink)  
Antiguo 24/01/2007, 01:31
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Re: Eliminar articulo del carrito: como lo hago?

quitar.php?item=2

Código PHP:
<?php
session_start
();
$item=$_GET["item"];
$_SESSION['itemsEnCesta'][$item]=NULL;
?>
te quitara el producto con el id 2, de todas formas utiliza el buscador ya que ya pusimos la solucion a eso.
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #3 (permalink)  
Antiguo 25/01/2007, 09:27
 
Fecha de Ingreso: marzo-2005
Mensajes: 201
Antigüedad: 19 años
Puntos: 0
Re: Eliminar articulo del carrito: como lo hago?

claro, debería pasar la variable que identifique a ese articulo (por ejemplo quitar.php?item=BBBB), pero si es la funcion "foreach" la que lista el contenido del carro
foreach($itemsEnCesta as $k => $v){
echo 'Artículo: '.$k.' Cant.: '.$v;?> - <a href="quitar.php?it=<? .......;?>">Eliminar</a><br> <? }
¿cómo hago para que "?it=" coloque el correspondiente articulo (AAAA, BBBB,...)?

gracias
  #4 (permalink)  
Antiguo 25/01/2007, 09:32
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Re: Eliminar articulo del carrito: como lo hago?

utiliza el buscador y busca los mensajes por usuario ZiTAL en el sub-foro PHP, alguno que ponga en el titulo carrito.
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #5 (permalink)  
Antiguo 25/01/2007, 14:36
 
Fecha de Ingreso: marzo-2005
Mensajes: 201
Antigüedad: 19 años
Puntos: 0
Re: Eliminar articulo del carrito: como lo hago?

Me sirvió de mucho!.
Pero hace rato no puedo encontrar el error, a pesar de haberlo probado y que funcione, ahora no logro que elimine 1 producto:

Este realiza el resumen del carrito y llama a quitar pasando la variable del producto:

Código PHP:
<?php
session_cache_limiter
("nocache,private");
session_start();
 
if( isset( 
$_SESSION["carrito"] ) && count$_SESSION["carrito"] ) > ){
    foreach( 
$_SESSION["carrito"] as $item ){
        echo 
$item["id_producto"] ." de $ ".$item["precio"]." x ".$item["cantidad"]." = $ ".$item["cantidad"]*$item["precio"]; 
        
?> 
<a href="quitar.php?borrar=<? echo $item['id_producto'];?>"> Quitar </a>
  <?
        
echo '<br><br>';
    }

?>
Y este, supuestamente, debería eliminarlo:

Código PHP:
<?php
session_start
();
unset (
$_SESSION["carrito"][$borrar]);

if( isset( 
$_SESSION["carrito"] ) && count$_SESSION["carrito"] ) > ){
    foreach( 
$_SESSION["carrito"] as $item ){
        echo 
$item["id_producto"] .": ".$item["cantidad"]."$: ".$item["cantidad"]*$item["precio"]; 
            echo 
'<br>';
    }

?>
  #6 (permalink)  
Antiguo 25/01/2007, 15:40
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Re: Eliminar articulo del carrito: como lo hago?

prueba con esto
Código PHP:
...
$_SESSION["carrito"][$borrar]=NULL;
... 
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #7 (permalink)  
Antiguo 25/01/2007, 15:47
 
Fecha de Ingreso: marzo-2005
Mensajes: 201
Antigüedad: 19 años
Puntos: 0
Re: Eliminar articulo del carrito: como lo hago?

Listo, era un problema de tipeo.
Gracias!
  #8 (permalink)  
Antiguo 25/01/2007, 15:50
 
Fecha de Ingreso: marzo-2005
Mensajes: 201
Antigüedad: 19 años
Puntos: 0
Re: Eliminar articulo del carrito: como lo hago?

Estaban difernetes los id_producto. Se habia deslizado un espcio de mas en cada uno de ellos.

De todas maneras, al usar NULL, dejaría en nombre del articulo y llevaría su cantidad a cero, pero sería más apropiado que elimine el articulo directamente.

Muchas gracias!
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 16:02.