Basicamente es esto.
Un claro ejemplo listo para usar, le puse lo de par e impar para que no le entendieras.
hahaha broma, le puse eso para poder manejar el orden mejor.
ahorita veras por que.
Recien echecito.
La clase la bajas de aqui
PageNavigator.php<?php
$host="localhost";
$user="root";
$pass="";
$db="loc";
require 'PageNavigator.php';
//Maximo de paginas, prucrar que sea # par
$offset=(int)@$_GET[OFFSET];
$recordoffset=$offset*PERPAGE;
$sql="SELECT * FROM loc_estado LIMIT $recordoffset,". PERPAGE;
$total="SELECT COUNT(*) as cuantos FROM loc_estado";
$totalrecords=$totalrecords['cuantos'];
// esto de par e impar es para tener una mejor fluidez de datos
$fieldPar;
$fieldInpar;
$i=0;
$i++;
if(($i%2)){
$fieldInpar[] = $row;
}else{
$fieldPar[] = $row;
}
}
$pagename=basename($_SERVER['PHP_SELF']); $numpages = ceil($totalrecords/PERPAGE
); $otherparameter = "&unparametro=VALOR :D";
?>
<table width="700" border="1">
<?php
for($i=0;$i<$primedio;$i++){
?>
<tr>
<td><?=$fieldInpar[$i][id_estado]?> ESTADO : <?=$fieldInpar[$i][entidadfederativa]?></td>
<td><?=$fieldPar[$i][id_estado]?> ESTADO : <?=$fieldPar[$i][entidadfederativa]?></td>
</tr>
<?
}
?>
</table>
<?php
//numero de paginas minimo necesarias
if($numpages>1){
//Crea el navegador
$nav = new PageNavigator($pagename, $totalrecords, PERPAGE, $recordoffset, 4, $otherparameter);
echo $nav->getNavigator();
}
?>
-- phpMyAdmin SQL Dump
-- version 2.10.3
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tiempo de generación: 22-06-2009 a las 16:54:23
-- Versión del servidor: 5.0.51
-- Versión de PHP: 5.2.6
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Base de datos: `loc`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `loc_estado`
--
CREATE TABLE `loc_estado` (
`id_estado` tinyint(2) UNSIGNED NOT NULL,
`entidadfederativa` VARCHAR(70) NOT NULL,
PRIMARY KEY (`id_estado`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Volcar la base de datos para la tabla `loc_estado`
--
INSERT INTO `loc_estado` VALUES (1, 'Aguascalientes');
INSERT INTO `loc_estado` VALUES (2, 'Baja California');
INSERT INTO `loc_estado` VALUES (3, 'Baja California Sur');
INSERT INTO `loc_estado` VALUES (4, 'Campeche');
INSERT INTO `loc_estado` VALUES (5, 'Coahuila de Zaragoza');
INSERT INTO `loc_estado` VALUES (6, 'Colima');
INSERT INTO `loc_estado` VALUES (7, 'Chiapas');
INSERT INTO `loc_estado` VALUES (8, 'Chihuahua');
INSERT INTO `loc_estado` VALUES (9, 'Distrito Federal');
INSERT INTO `loc_estado` VALUES (10, 'Durango');
INSERT INTO `loc_estado` VALUES (11, 'Guanajuato');
INSERT INTO `loc_estado` VALUES (12, 'Guerrero');
INSERT INTO `loc_estado` VALUES (13, 'Hidalgo');
INSERT INTO `loc_estado` VALUES (14, 'Jalisco');
INSERT INTO `loc_estado` VALUES (15, 'México');
INSERT INTO `loc_estado` VALUES (16, 'Michoacán de Ocampo');
INSERT INTO `loc_estado` VALUES (17, 'Morelos');
INSERT INTO `loc_estado` VALUES (18, 'Nayarit');
INSERT INTO `loc_estado` VALUES (19, 'Nuevo León');
INSERT INTO `loc_estado` VALUES (20, 'Oaxaca');
INSERT INTO `loc_estado` VALUES (21, 'Puebla');
INSERT INTO `loc_estado` VALUES (22, 'Querétaro Arteaga');
INSERT INTO `loc_estado` VALUES (23, 'Quintana Roo');
INSERT INTO `loc_estado` VALUES (24, 'San Luís Potosí');
INSERT INTO `loc_estado` VALUES (25, 'Sinaloa');
INSERT INTO `loc_estado` VALUES (26, 'Sonora');
INSERT INTO `loc_estado` VALUES (27, 'Tabasco');
INSERT INTO `loc_estado` VALUES (28, 'Tamaulipas');
INSERT INTO `loc_estado` VALUES (29, 'Tlaxcala');
INSERT INTO `loc_estado` VALUES (30, 'Veracruz Llave');
INSERT INTO `loc_estado` VALUES (31, 'Yucatán');
INSERT INTO `loc_estado` VALUES (32, 'Zacatecas');