Me toco investigar un poco como hacer una paginacion con PDO y llegue a utilizar pear. Como era la primera vez q hago un proyecto en el trabajo usando pdo no encontraba algun script q me ayudara a hacer un pagin sencillo y sin complicarme. despues d un rato googleando llegue a utilizar Pear. Ya habia estuchado d pear y tiene muchas cosas buenas. la tool q use de pear pager. Aqui les dejo un script a mas d alguno les puede interesar.
Para empezar necesitan bajar
http://pear.php.net/package/Pager/docsr Luego se procede a subirlo al servidor, recomiendo subir toda la carpeta Pager y dejarla intacta, a menos que sepan lo que iran a hacer.
Hacemos nuestra primera consulta
$dbh = new PDO('mysql:host='.$hostName.';dbname='.$dbName.'', $userNameDB, $passwordDB);
$search = $dbh -> prepare("SELECT * FROM tbl_files WHERE fileName like ? AND status<>4");
$search -> bindParam(1, $searchValue);
$search -> execute();
$numberFiles = $search->rowCount();
Luego obtenemos el numero de archivos que necesitamos mostrar (la consulta la estoy haciendo para un search form). Cuando ya tenemos el numero $numberFiles , pasamos a usar Pager.
// begin pager
$params = array(
'totalItems' => $numberFiles,
'perPage' => 5,
'delta' => 2,
'mode' => 'Sliding'
);
$pager = Pager::factory($params);
list($from, $to) = $pager->getOffsetByPageId();
$from = $from - 1;
$perPage = $params['perPage'];
$stmt = $dbh->prepare('SELECT * FROM tbl_files WHERE fileName like ? AND status<>4 LIMIT :from, :perPage');
$stmt->bindValue(':from', $from, PDO::PARAM_INT);
$stmt->bindValue(':perPage', $perPage, PDO::PARAM_INT);
$stmt->execute();
$result = $stmt->fetchAll();
$displayAllResults = $result;
$stmt = null;
$select = null;
En este pedazo de codigo declaramos todos los parametros que necesitamos para pager, el numero de items, la cantidad que queremos mostrar son las mas importantes, ademas de sliding.
Se inicia pager con el siguiente codigo $pager = Pager::factory($params); y luego se pasa a crear los numeros para hacer las consultas en la base de datos. Cuando ya se tiene lo que necesitamos mostrar en mi caso lo guarde en la variable $displayAllResults, cerramos las conecciones y se procede a mostrar lo que necesitamos.
for($i=0; $i < count($displayAllResults); $i++){
echo $displayAllResults[$i];
}
Lo unico que falta por hacer es poner los links de los numeros para terminar la paginacion
//display pagination
echo '<br />'.$pager->links;
Y eso es todo, espero les sirva de ayuda este tutorial muy basico.
Aqui lo tengo posteado tambien
http://xtremenews.info/1336/paginacion-sencilla-en-php-usando-pager-y-pdo.html