Ver Mensaje Individual
  #5 (permalink)  
Antiguo 28/09/2006, 11:03
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
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
Es una classe lo que tienes no una librería. Por eso tienes que "incluirla" donde la uses (sus métodos) previa instancia de la misma (new ...)

Por lo demás .. la funcionalidad que buscass.

1) En los atributos de la classe crear un nuevo array para registrar la cantidad:
Código PHP:
 var $array_cantidad_prod
2) El método introduce_producto() debería manejar el array nuevo:

Código PHP:
function introduce_producto($id_prod,$nombre_prod,$precio_prod,$candidad_prod=1
    { 
        
$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->array_cantidad_prod[$this->num_productos]=$cantidad_prod
        
$this->num_productos++; 
    } 
Si te fijas, se crea un nuevo parámetro para este método para que ingreses ahí el n° de cantidad del producto. Si no defines ese campo extra ingresará una unidad por defecto.

3) El método imprime_carrito() tendrá que tener llamar a tu nuevo array para mostrar el dato de la cantidad:

Código PHP:
echo '<table border=1 cellpadding="3"> 
              <tr> 
                <td><b>Nombre producto</b></td> 
                <td><b>Precio</b></td> 
                <td><b>Cantidad</b></td> 
                <td>&nbsp;</td> 
              </tr>'

Código PHP:
echo '<tr>'
                echo 
"<td>" $this->array_nombre_prod[$i] . "</td>"
                echo 
"<td>" $this->array_precio_prod[$i] . "</td>"
                echo 
"<td>" $this->array_cantidad_prod[$i] . "</td>"
Ahí tendrías que operar con la cantidad $this->array_cantidad_prod[$i] para sacar el sub-total y luego el total.

Si te fijas te estarás imaginando que para crear esa opción de "editar" la cantidad, tendras que crear otro método similar (99% parecido) al "imprime_carrito()" pero con un campo <input .. .> y usado su "value" para predefinir su valor. O manejar el tema con un "flag" para usar el mismo código para las dos funcionalidades: editar y "ver" sólo el carrito (esto de "ver" el carrito te servirá para mostar lo que finalmente quedó de tu carrito al ser ingresado y aceptado lo que este diga).

Código PHP:
echo "<input type=\"text\" name=\"cantidad[]\" value=\"".$this->array_cantidad_prod[$i]."\">"
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.