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

