Foros del Web » Programando para Internet » PHP »

Optimizar clase de paginacion

Estas en el tema de Optimizar clase de paginacion en el foro de PHP en Foros del Web. Hola he creado el siguiente codigo ke pongo a continuacion para hacer una paginacion sencilla, pero resulta k a las paginas que le pongo esto ...
  #1 (permalink)  
Antiguo 05/11/2008, 13:31
 
Fecha de Ingreso: noviembre-2007
Mensajes: 264
Antigüedad: 16 años, 5 meses
Puntos: 0
Optimizar clase de paginacion

Hola he creado el siguiente codigo ke pongo a continuacion para hacer una paginacion sencilla, pero resulta k a las paginas que le pongo esto tardan mucho en cargar, mas de lo nomal, y las demas parecen ir mejor... pienso que podria ser algo que he hecho mal, o un bucle mal insertado o nose.. si alguien ve algo que se podria optimizar o corregir para mejorarlo m ayudaria mucho. gracias

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(isset($_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
    
$this->datos mysql_query($consulta." LIMIT ".$this->inicio.",".$this->tamano);
}


function 
paginacion($nombrePagina){
    
    if (
$this->no_paginas 1)
    {
        
// Pagina anterior
        
if($this->pagina_actual!=="1"){
            
$res $this->pagina_actual-1;
        echo 
"<a href=\"".$nombrePagina.".php?pagina=".$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=\" ".$nombrePagina.".php?pagina=".$i."\">$i</a> ";
            }
        }
        
        
// Pagina siguiente
        
if($this->pagina_actual!=="$this->no_paginas"){
            
$res $this->pagina_actual+1;
        echo 
" | <a href=\" ".$nombrePagina.".php?pagina=".$res."\">Siguiente</a>";
        }
    }
    
// FIN de paginacion
}

}
?>
y lo llamo de la siguiente manera:

Código PHP:
// Paginacion
require("paginar.php");
$paginar = new paginar;
$paginar->consultar("SELECT * FROM `noticias` ORDER BY id DESC",15);


while(
$row=mysql_fetch_array($paginar->datos)){
.
.
// aki imprimo los contenidos de los campos
.
.
}

$paginar->paginacion("noticias"); 
  #2 (permalink)  
Antiguo 05/11/2008, 13:38
nfo
 
Fecha de Ingreso: octubre-2008
Ubicación: EsPaCiO TiEmPo
Mensajes: 408
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: Optimizar clase de paginacion

buenas bueno aunque no te soluciones mucho tu problema te puedo dejar un paginador que es el que yo tengo y funciona a la perfeccion solo tienes que adaptarlo a tu web, yo le he echo asta ordenacion por nombre de usuario y fecha nacimiento

phppaginator
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 12:17.