Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/01/2009, 16:01
juandedios
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 967
Antigüedad: 23 años, 4 meses
Puntos: 8
Ayuda con mi clase

Saludos:

Esta es una clase que yo hice y la eh venido usando sin problemas, pero en esto último que estoy haciendo tengo problemas y no se porque.

La clase es esta:
Código PHP:
require("global.php");

class 
DB
{
    private 
$con;
    private 
$pInicio;
    private 
$pLogin;
    private 
$pRegistro;
    private 
$pSalir;
    private 
$MsgError;
    
     private function 
Conectar()
    {
        
$this->con = mysql_connect(HOST, US, PW) or die("Error de conexión al servidor.");
        
mysql_select_db(DBASE, $this->con) or die("Error al conectar con la base de datos.");
    }
    
    public function 
__contruct()
    {
        
$this->pInicio = PAGINA_INICIO;
        
$this->pLogin = PAGINA_LOGIN;
        
$this->pRegistro = PAGINA_REGISTRO;
        
$this->pSalir = PAGINA_SALIR;
        
$this->Conectar();
    }
    
    public function 
NumeroFilas($rs)    
    {
        if (!
$rs) {
            echo 
"La consulta no es válida, no se puede extraer el número de filas.";
        }
        else {
            return 
mysql_num_rows($rs);
        }
    }
    
    public function 
NumeroCampos($rs)
    {
        if (!
$rs) {
            echo 
"La consulta no es válida, no se puede extraer el nñumero de campos.";
        }
        else {
            return 
mysql_num_fields($rs);
        }
    }
    
    public function 
Consulta($sql)
    {
        if (empty(
$sql)) {
            echo 
"La sentencia SQL no es válida.";
        }
        else {
            return 
mysql_query($sql, $this->con);
        }
    }
    
    public function 
DevolverFilasConsulta($rs)
    {
        if (
$rs) {
            return 
mysql_fetch_object($rs);
        }
        else {
            echo 
"El parametro para devolver el resultado no es válido.";
        }
    }
    
    public function 
VerificarSession()
    {
        if (!isset(
$_SESSION["us"])) {
            
session_unset();
            
session_destroy();
        }
    }
    
    public function 
MostrarLogin()
    {
        
$muestra = "";
        
        if (isset(
$_SESSION["us"])) {
            
$muestra = "Bienvenido(a) " . $_SESSION["us"];
            
$muestra .= " | " . "<a href = '" . $this->pSalir . "'>Salir</a>";
            echo 
$muestra;
        }
        else {
            include(
"php/minilogo.php");
        }
    }
    
    private function 
Salir()
    {
        
session_unset();
        
session_destroy();
        
        
$out = "<script type = 'text/javascript'>";
        
$out .= "location.href = " . $this->pInicio;
        
$out .= "</script>";
    }
    
    public function 
Logearse($usuario, $clave)
    {
        
$rs = $this->Consulta("SELECT * FROM " . TABLA_USUARIOS . " WHERE us_name = '" . $usuario . "' AND us_clave = '" . $clave ."'");
        
$result = ($this->NumeroFilas($rs)) ? 1 : 0;
        
        if (
$result == 1) {
            
$_SESSION["us"] = $usuario;
        }
        
        
header("Location: " . $this->pInicio);
    }
    
    public function 
MostrarCuadroCategorias()
    {
        echo 
"<span class='titlecarritoinfo'>Busque por categoría</span>";
        echo 
"<p>";
            echo 
"Seleccione una categoría<br />";
            echo 
"<select name='categorias' id='categorias' class='selectwidth' onchange='javascript:cargarSubcategorias();'>";
            echo 
"<option value=''>[ Seleccione ]</option>";
            
$rs = $this->Consulta("SELECT * FROM categorias ORDER BY cat_des");
            while (
$ob = $this->DevolverFilasConsulta($rs)) {
                echo 
"<option value=".$ob->cat_id.">".$ob->cat_des."</option>";
            }
        echo 
"</p>";
        echo 
"<div id='subcategorias'></div>";
    }
} 
Así la llamo en la pagina:
Código PHP:
session_start();
require(
"php/global/db.class.php");
$inicl = new DB(); 
Y aquí la uso:
Código PHP:
$str = "SELECT * FROM categorias";
$rs = $inicl->Consulta($str);
$nr = $inicl->NumeroFilas($rs);
$i = 0;
while (
$ob = $inicl->DevolverFilasConsulta($rs)) {
    echo 
"<li class='categorias'>" . $ob->cat_des . "</li>";
} 
El error me salen en estas lineas:
Código PHP:
$nr = $inicl->NumeroFilas($rs);
...
$ob = $inicl->DevolverFilasConsulta($rs) 
Por favor si alguien pudo ver el error, hágamelo saber, le estoy dando vueltas y no veo por donde podria estar el error.

Gracias de antemano.
__________________
El aprendiz.