Ver Mensaje Individual
  #3 (permalink)  
Antiguo 29/03/2011, 09:10
Jheiron
 
Fecha de Ingreso: enero-2011
Mensajes: 45
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: llamar variable dentro de clase

ok... yo uso variables de session para eso del for... pero no entendi eso de creear un atributo nuevo... k conste k no se usar clases, soy nuevo en esa parte...

este es el codigo completo y me diras entonces como acerlo si no es mucha molestia

Código PHP:
<?php
//session_unset();borra todas la variables de session
 
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=0 cellpadding="0">'
         
//echo '<div class="shopping_cart">';
          //echo '<table border=0 cellpadding="0" width="0">';
          //echo '<div class="cart_title">Carrito de Compra</div>';
          
           
echo '<tr>'
           echo 
'<td><b>Nombre producto</b></td>'
           echo 
'<td><b>Precio</b></td>'
           echo 
'<td> </td>'
           echo 
'</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='elimina_carrito.php?linea=$i'>Eliminar producto</td>"
                 echo 
'</tr>'
                 
$suma += $this->array_precio_prod[$i]; 
              } 
$array_precio_prodnumber_format($array_precio_prod);
           } 
        
// echo '<div class="cart_details">';
        
         
$total_precio $suma 1.16;
         
$total_precio "$".number_format($total_precio).".00";
          
$suma ="$".number_format($suma).".00";
           
//muestro el total 
          // echo '<span class="border_cart"></span>';
           
echo '<tr><td><b>TOTAL:</b></td><td> <b><span class="price">'.$suma.'</span></b></td><td></td></tr>'
           
//total más Impuestos 
           
echo "<tr><td><b>Impuesto (16%):</b></td><td> <b><span class='price'>" $total_precio "</span</b></td><td> </td></tr>";
           echo 
"<tr><td><b>Productos Elegidos:</b></td><td> <b>" $i"</b></td><td> </td></tr></span>"
           
          
         
        
// echo'</div>';
                  
          // echo '</div>'; 
           
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
       } 
}

if (!isset(
$_SESSION["ocarrito"])){ 
       
$_SESSION["ocarrito"] = new carrito(); 
}




?>
y cuando kiero imprimir el carrito lo ago asi
Código PHP:
session_start();
$_SESSION["ocarrito"]->imprime_carrito();