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
}
}
?>
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");