Foros del Web » Programando para Internet » PHP »

problema con clase para paginar

Estas en el tema de problema con clase para paginar en el foro de PHP en Foros del Web. Hola, kiero hacer un clase sencilla para hacer paginaciones pero me da problemas, no se si es un fallo tonto o xk no se hacerla ...
  #1 (permalink)  
Antiguo 05/11/2008, 09:00
 
Fecha de Ingreso: noviembre-2007
Mensajes: 264
Antigüedad: 16 años, 4 meses
Puntos: 0
problema con clase para paginar

Hola, kiero hacer un clase sencilla para hacer paginaciones pero me da problemas, no se si es un fallo tonto o xk no se hacerla XD,
lo que e exo es lo siguiente:

Código PHP:
<?php

class paginar
{
// VARIABLES

    // Registros que se mostraran: 10 por defecto
    
var $tamano=10;
    var 
$pagina_actual=1;
    var 
$inicio 0;
    var 
$total_registros;
    var 
$no_paginas;
    var 
$datos;

// FUNCIONES
    
    // Funcion para hacer la consulta
function consultar($consulta,$longitud){
    
    
// Cambia el numero de registros que se mostraran
    
$this->tamano $longitud;
    
// Rxamino la página a mostrar y el inicio del registro a mostrar
    
if($_GET["pagina"]){
    
$this->pagina_actual $_GET["pagina"];
    
$this->inicio = ($this->pagina_actual 1) * $this->tamano;
    }
    
    
// Realizar la consulta
    
$con mysql_query($consulta);
    
// Almacenar el numero de registros
    
$this->total_registros mysql_num_rows($con);
    
// Definir el numero de paginas a mostrar
    
$this->no_paginas ceil($this->total_registros $this->tamano);

    
//construyo la sentencia SQL
    
    
$con mysql_query($consulta." ".$this->$inicio.",".$this->tamano);
    
$this->datos mysql_fetch_array($con);
}

function 
datos(){
return 
$this->datos;
}

function 
paginar(){
    
    if (
$this->no_paginas 1)
    {
        
// Pagina anterior
        
if($this->pagina_actual!=="1"){
            
$res $page-1;
        echo 
"<a href=\"$res\">Anterior</a> | ";
        }
        
        
// Mostrar paginas
        
for ($i=1;$i<=$this->no_paginas;$i++)
        {
               if (
$this->pagina_actual == $i){
              echo 
"[$this->pagina_actual] ";
            } else {
            echo 
"<a href=\"$i\">$i</a> ";
            }
        }
        
        
// Pagina siguiente
        
if($this->pagina_actual!==$this->no_paginas){
            
$res $page+1;
        echo 
" | <a href=\"$res\">Siguiente</a>";
        }
    }
// FIN de paginacion
}

}
?>
y la llamo tipo:

Código PHP:
require("paginar.php");
$paginar = new paginar;
$query "SELECT * FROM `tabla` ";
$paginar->consultar($query,12);
$datos $paginar->datos(); 
y me da el siguiente error:
Fatal error: Cannot access empty property in /homepages/htdocs/paginar.php on line 37
¿ke es lo k ago mal? gracias
  #2 (permalink)  
Antiguo 05/11/2008, 09:03
Avatar de Snd234  
Fecha de Ingreso: mayo-2007
Ubicación: Frente al PC
Mensajes: 413
Antigüedad: 16 años, 11 meses
Puntos: 2
Respuesta: problema con clase para paginar

En la siguiente linea:

Código PHP:
$con mysql_query($consulta." ".$this->$inicio.",".$this->tamano); 
Estas accediendo erróneamente a la propiedad inicio, debería ser:

Código PHP:
$this->inicio 
y no
Código PHP:
$this->$inicio 
__________________
KIBIT.cl
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:14.