Ver Mensaje Individual
  #3 (permalink)  
Antiguo 28/09/2006, 08:52
Avatar de charlyrosero
charlyrosero
 
Fecha de Ingreso: julio-2006
Mensajes: 161
Antigüedad: 17 años, 9 meses
Puntos: 5
Ok

en realidad si pongo aqui todo el codigo es muy extenso, pero te explicare lo que hago

primero me conecto al una base de datos donde hago la consulta a los productos, resultandome,precio,descripcion etc, plasmandolos en una tabla html

mi proyecto consta hasta ahora de un index.php y agregar.php

hasta aqui todo bien,

tengo esta libreria clase de carrito

Código PHP:
class carrito {
    
//atributos de la clase
       
var $num_productos;
       var 
$array_id_prod;
       var 
$array_nombre_prod;
       var 
$array_precio_prod;

    
//constructor. Realiza las tareas de inicializar los objetos cuando se instancian
    //inicializa el numero de productos a 0
    
function carrito () 
    {
           
$this->num_productos=0;
    }
    
    
//Introduce un producto en el carrito. Recibe los datos del producto
    //Se encarga de introducir los datos en los arrays del objeto carrito
    //luego aumenta en 1 el numero de productos
    
    
function introduce_producto($id_prod,$nombre_prod,$precio_prod)
    {
        
$this->array_id_prod[$this->num_productos]=$id_prod;
        
$this->array_nombre_prod[$this->num_productos]=$nombre_prod;
        
$this->array_precio_prod[$this->num_productos]=$precio_prod;
        
$this->num_productos++;
    }

    
//Muestra el contenido del carrito de la compra
    //ademas pone los enlaces para eliminar un producto del carrito
    
function imprime_carrito()
    {
        
$suma 0;
        echo 
'<table border=1 cellpadding="3">
              <tr>
                <td><b>Nombre producto</b></td>
                <td><b>Precio</b></td>
                <td>&nbsp;</td>
              </tr>'
;
        for (
$i=0;$i<$this->num_productos;$i++)
        {
            if(
$this->array_id_prod[$i]!=0)
            {
                echo 
'<tr>';
                echo 
"<td>" $this->array_nombre_prod[$i] . "</td>";
                echo 
"<td>" $this->array_precio_prod[$i] . "</td>";
                echo 
"<td><a href='eliminar_producto.php?linea=$i'>Eliminar producto</td>";
                echo 
'</tr>';
                
$suma += $this->array_precio_prod[$i];
            }
        }
        
//muestro el total
        
echo "<tr><td><b>TOTAL:</b></td><td> <b>$suma</b></td><td>&nbsp;</td></tr>";
        
//total más IVA
        
echo "<tr><td><b>IVA (16%):</b></td><td> <b>" $suma 1.16 "</b></td><td>&nbsp;</td></tr>";
        echo 
"</table>";
    }
    
    
//elimina un producto del carrito. recibe la linea del carrito que debe eliminar
    //no lo elimina realmente, simplemente pone a cero el id, para saber que esta en estado retirado
    
function elimina_producto($linea)
    {
        
$this->array_id_prod[$linea]=0;
    }

//inicio la sesión
session_start();
//si no esta creado el objeto carrito en la sesion, lo creo
if (!isset($_SESSION["ocarrito"]))
{
    
$_SESSION["ocarrito"] = new carrito();

esta libreria es incluida en index.php para iniciar la sesion, y deberia ser incluida tambien en agregar.php la cual trata la eliminacion de un producto, impresion del carrito, y el agregar al carrito

y tengo pensado que agregar.php me muestre la informacion del carro de compra con el respectivo ingreso de cantidades y un actualizad al carrito, pero por ahora me intesera el punto de como mostrar el carro con la cantidad a ingresar del pruducto, algo similar a lo que hace OScomerce