Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/08/2006, 10:12
Avatar de charlyrosero
charlyrosero
 
Fecha de Ingreso: julio-2006
Mensajes: 161
Antigüedad: 17 años, 8 meses
Puntos: 5
Exclamación Carrito de Compras

como van !!!

se que este tema ha sido expuesto cientos de veces, pero no encontre una respuesta valida para lo que necesito.

tengo una clase llamada carito de compras y es asi :

Código PHP:

class carrito_compras
{

             
//atributos de la clase
            
var $num_productos;
           var 
$array_id_item;
            var 
$array_nombre_item;
            var 
$array_precio_item;

            
//constructor. Realiza las tareas de inicializar los objetos cuando se instancian
            //inicializa el numero de productos a 0
            
function carrito_compras () 
             {
               
$this->num_productos=0;
            }     
             

            function 
introduce_producto($id_prod,$nombre_prod,$precio_prod)
             {
                
            
//  $this->array establecido[posicion del array]= atributo         
               
$this->array_id_item[$this->num_productos]=$id_prod// introduzco identificacion del producto a un espacio del array
                 
$this->array_nombre_item[$this->num_productos]=$nombre_prod;
               
$this->array_precio_item[$this->num_productos]=$precio_prod;
               
$this->num_productos ++;
                            
            } 
            function 
imprime_carrito()
             {
               
$suma 0;
               echo 
'<table border=1 cellpadding="3">
               <tr>
               <td><b>Nombre producto</b></td>
               <td><b>Precio</b></td>
               <td> </td>
               </tr>'
;

             for (
$i=0;$i<$this->num_productos;$i++)
                 {
                  if(
$this->array_id_item[$i]!=0//si so niguales a 0 fue porque fueron borrados por el usuario
                     
{
                     echo 
'<tr>';
                     echo 
"<td>" $this->array_nombre_item[$i] . "</td>";
                     echo 
"<td>" $this->array_precio_item[$i] . "</td>";
                     echo 
"<td><a href='eliminar_producto.php?linea=$i'>Eliminar producto</td>";
                     echo 
'</tr>';
                     
$suma += $this->array_precio_item[$i];
                  }
               } 
                 
               echo 
"<tr><td><b>TOTAL:</b></td><td> <b>$suma</b></td><td> </td></tr>";
               
//total más IVA
               
echo "<tr><td><b>IVA (16%):</b></td><td> <b>" $suma 1.16 "</b></td><td> </td></tr>";
               echo 
"</table>";
            }

            
            function 
elimina_producto($linea)
             {
                
$this->array_id_item[$linea]=0;
     


             } 

esta calse recibe los datos para el ingreso de productos por una pagina llamada, introduce_productos.php

Código PHP:
<?
    
include("Clase_carrito.php");
    
$_SESSION["ocarrito"] = new carrito_compras ();
    
$_SESSION["ocarrito"]->introduce_producto($_GET["id"],                          $_GET["nombre"], $_GET["precio"]);
    
$_SESSION["ocarrito"]->imprime_carrito();
?>
la clase funciona, guarda, elimina etc, pero no hace lo de un Carrito de compras almacenar en una cesta, debido a que siembre que hago esto $_SESSION["ocarrito"] = new carrito_compras (); la variable $this->num_productos toma siempre el valor de 0, y guardaria siempre 1 solo valor de la cesta,

podrian ayudarme ?