Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/06/2005, 10:21
Avatar de Webstudio
Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 6 meses
Puntos: 69
Hola Lore,

Lo que vos querés es, de alguna manera, utilizar información de una clase, para el funcionamiento de otra clase. Eso no es muy complicado, si utilizamos bien las ventajas que nos ofrecen los objetos.
Por lo que pude entender de tu clase, vos querés que un Artículo, muestre un Menu determinado? :S Bueno, te comento que lo mejor, es que los Objetos no tengan "lógica de presentación", o sea, que mantengas tus objetos libres de "echos", y asi poder mantener todo separado y limpio. Yo haría lo siguiente (errores de sintaxis más o menos):

Código PHP:
<?
class Articulo
{
    var 
$Id;
    var 
$Nombre;
    var 
$IdMenu;

    function 
Articulo$id )
    {
        
$this->Id $id;
        if(empty(
$this->Nombre) || empty($this->IdMenu))
        {
            
$this->cargar();
        }
    }
    
    function 
cargar()
    {
        
$SQL "SELECT ID, Nombre, IdMenu FROM ARTICULOS WHERE ID = ".$this->Id;
        
$resul mysql_query($SQL$_SESSION['cnx']);
        
$fila mysql_fetch_array$resul );
        
$this->Nombre $fila['Nombre'];
        
$this->IdMenu $fila['IdMenu'];
    }
    
    function 
mostrar()
    {
        echo 
$this->Id;
        echo 
$this->Nombre;
    }
}

//Clase de donde saco el nombre del menu
class Menu
{
    var 
$Id;
    var 
$Nombre;

    function 
Menu$id )
    {
        
$this->Id $id;
        if(empty(
$this->Nombre))
        {
            
$this->cargar();
        }
    }
    
    function 
cargar()
    {
        
$SQL "SELECT Nombre FROM MENUS WHERE ID = ".$this->Id;
        
$resul mysql_query($SQL$_SESSION['cnx']);
        
$fila mysql_fetch_array$resul );
        
$this->Nombre $fila['Nombre'];
    }

    function 
mostrar()
    {
        echo 
$this->Nombre;
    }
}

// Y asi es como se utilizaría
$art    = new Articulo(1);
$menu = new Menu($art->IdMenu);
$art->mostrar();
$menu->mostrar();
?>
Saludos y espero que te sirva.
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com