Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Ayuda con mi Carrito por favor

Estas en el tema de Ayuda con mi Carrito por favor en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola nuevamente amigos de Forosdelweb, aquí estoy nuevamente con el siguiente problema (o no sé si lo hay). He hecho un carrito de compras muy ...
  #1 (permalink)  
Antiguo 30/10/2008, 19:16
 
Fecha de Ingreso: julio-2008
Ubicación: Entre los 4 Núcleos
Mensajes: 27
Antigüedad: 15 años, 9 meses
Puntos: 0
Exclamación Ayuda con mi Carrito por favor

Hola nuevamente amigos de Forosdelweb, aquí estoy nuevamente con el siguiente problema (o no sé si lo hay).
He hecho un carrito de compras muy sencillo y creo que a la hora de quitar productos del mismo, algo malo sucede que me desordena el array.
Aquí les dejo los codigos a ver si alguien me ayuda, mas que nada en la funcion "BorrarProducto". Gracias por su colaboración.

libreria.php
Código PHP:
<?php
class Cart{
    var 
$cantidad;
    var 
$codigo;
    var 
$color;
    var 
$talle;
    var 
$items;
    
    function 
Cart(){
        
$this->items 0;
    }
    function 
AgregarProducto($codigo,$color,$cantidad){
        
$this->codigo[$this->items] = $codigo;
        
$this->color[$this->items] = $color;
        
$this->cantidad[$this->items] = $cantidad;
        
$this->items++;
    }
    function 
MuestraCarro(){
        echo
"<table width='100%' border='1'>
        <tr><td>Cantidad</td>
            <td>Codigo</td>
            <td>Color</td>
            <td>Borrar</td></tr>"
;
        for(
$i=0$i<$this->items$i++){
            echo
"<tr><td>".$this->cantidad[$i]."</td>
                     <td>"
.$this->codigo[$i]."</td>
                     <td>"
.$this->color[$i]."</td>
                     <td><a href='borrar_item.php?linea=$i'>Borrar Item $i</a></td></tr>"
;
        }
            echo
"</table>";
    }
     function 
BorrarProducto($i){
        unset(
$this->codigo[$i],$this->cantidad[$i],$this->color[$i]);
        
array_values($this->codigo);
           
array_values($this->cantidad);
        
array_values($this->color);
        
$this->items--;
      }
}
    
session_start();
    if(!isset(
$_SESSION['carro'])){
        
$_SESSION['carro'] = new Cart();
    }
?>
fragmento de: agregar_producto.php
Código PHP:
<?php
$_SESSION
['carro']->AgregarProducto($_GET['codigo'], $_GET['color'], $_GET['cantidad']);
?>
fragmento de borrar_item.php

Código PHP:
<?php
$_SESSION
['carro']->BorrarProducto($_GET['linea']);
?>
Bueno amigos, cordial saludo para todos y espero sepan ayudarme un poquito con la parte de borrado de items. Gracias.
  #2 (permalink)  
Antiguo 30/10/2008, 19:25
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Ayuda con mi Carrito por favor

Hola mikenrry,

El problema son tus array_values que tienes, mejor usa reset().

Saludos.
  #3 (permalink)  
Antiguo 31/10/2008, 05:29
 
Fecha de Ingreso: julio-2008
Ubicación: Entre los 4 Núcleos
Mensajes: 27
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Ayuda con mi Carrito por favor

entonces quedaría algo así??
Código PHP:
function BorrarProducto($i){
        unset(
$this->codigo[$i]);
        unset(
$this->cantidad[$i]);
        unset(
$this->color[$i]);
        
reset($this->codigo);
           
reset($this->cantidad);
        
reset($this->color);
        
$this->items--;
      } 
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 08:44.