Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/01/2011, 05:41
rufus
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: error de metodo indefinido en poo

os dejo mas codigo para ver si veis el error.
el codigo que os pongo es de la clase MysQLBD (database.php)

Código PHP:
<?php
require_once("database.php");

class 
usuario
{
    
    public 
$id;
    public 
$usuario;
    public 
$clave;
    public 
$nombre;
    public 
$apellido;
    
    
    public static function 
buscar_por_id($id)
    {
        global 
$bd;
        
$sql "SELECT * FROM usuarios     WHERE id={$id}";
        
$matriz_usuarios self::buscar_por_sql("SELECT * FROM usuarios     WHERE id={$id}");
        
        return (!empty(
$matriz_usuarios)) ? array_shift($matriz_usuarios) : false;
            
    }
    
    public static function 
buscar_todos()
    {
        
        return 
self::buscar_por_sql("SELECT * FROM usuarios");
    }
    
    public static function 
buscar_por_sql($sql)
    {
        global 
$bd;
        
$resultado $bd->enviar_consulta($sql);
        
$matriz_usuarios = array();
        while(
$registro $bd->fetch_array($resultado))
        {
            
array_push($matriz_usuariosself::instanciar($registro));
        }
        return 
$matriz_usuarios;
            
    }
    
    public static function 
instanciar($registro)
    {
        
$usuario = new usuario();
    

        foreach(
$registro as $propiedad => $valor)
        {
            if(
$usuario->propiedad_existe($propiedad))
            {
                
$usuario->propiedad $valor;
            }
        }
        return 
$usuario;
    }
    
    public function 
propiedad_existe($propiedad)
    {
        
$propiedades get_object_vars($this);
        return 
array_key_exists($propiedad,$propiedades);
    }
    
    public function 
nombre_completo()
    {
        if(isset(
$this->nombre) && isset($this->apellido))
        {
            return 
$hits->nombre " " $this->apellido;
            
        }
        else
        {
            return 
"" ;
        }
    }
}

?>