pues tengo el archivo principal este codigo:
Código PHP:
<?
// Conectamos a la Base de Datos
include('incluir/conexion.php');
$_pagi_sql = mysql_query("SELECT * FROM tuto_html");
$_pagi_cuantos = 10;
include("paginator.inc.php");
while($row = mysql_fetch_array($_pagi_result)){
echo $row['titulo']."<br />";
}
echo"<p>".$_pagi_navegacion."</p>";
?>
y en el paginator que lo puse con un include:
Código PHP:
<?php
/*
** Paginator 1.1
** Paginación de resultados de consultas MySql
**
** Nombre de archivo :
** paginator.inc.php
** Autor :
** Jorge Pinedo Rosas (jpinedo) <[email protected]>
** Con la colaboración de los usuarios del foro de PHP de [url]www.forosdelweb.com[/url]
** Especialmente de dooky que posteó el código en el que se basa este script.
**
** Versión 1.0 30/11/2003 : -Versión inicial.
** Versión 1.1 12/01/2003 : -Se agregó la propagación de las variables que llegan al script vía url ($_GET)
** en los enlaces de navegación por las páginas.
** -Se optimizó el conteo del total de registros utilizando el COUNT(*) de MySql.
**
** Descripción :
** Devuelve el resultado de una consulta sql por páginas, así como los enlaces de navegación respectivos.
** Este script ha sido pensado con fines didácticos, por eso la gran cantidad de comentarios.
**
** Licencia :
** GPL con las siguientes extensiones:
** *Uselo con el fin que quiera (personal o lucrativo).
** *Si encuentra el código de utilidad y lo usa, mandeme un mail si lo desea.
** *Si mejora el código o encuentra errores, hagamelo saber al mail indicado.
**
** Documentación y ejemplo de uso:
** [url]http://depiura.webcindario.com/jpinedo/scripts/doc-paginator.php[/url]
**-----------------------------------------------------------------------------------------------------------*/
//Antes de incluir este script vía include() se debe haber definido una variable $_pagi_sql
//que contenga una sentencia sql válida
if(empty($_pagi_sql)){
//Si no se definió $_pagi_sql... error!
die("<b>Error paginación : </b>No se ha definido la variable \$_pagi_sql");
}
if(empty($_pagi_cuantos)){
//Si no se ha especificado la cantidad de registros por página
//$_pagi_cuantos será por defecto 20
$_pagi_cuantos = 20;
}
if (empty($_GET['pg'])){
//Si no se ha hecho click a ninguna página específica
//O sea si es la primera vez que se ejecuta el script
//$_pagi_actual es la pagina actual-->será por defecto la primera.
$_pagi_actual = 1;
}else{
//Si se "pidió" una página específica:
//La página actual será la que se pidió.
$_pagi_actual = $_GET['pg'];
}
//Contamos el total de registros en la BD (para saber cuántas páginas serán)
$_pagi_sqlConta = eregi_replace("select (.*) from", "SELECT COUNT(*) FROM", $_pagi_sql);
$_pagi_result2 = mysql_query($_pagi_sqlConta) or die ("Error en la consulta de conteo de registros. Mysql dijo: <b>".mysql_error()."</b>");
$_pagi_totalReg = mysql_result($_pagi_result2,0,0);//total de registros
//Calculamos el número de páginas (saldrá un decimal)
//con ceil() redondeamos y $_pagi_totyalPags será el número total (entero) de páginas que tendremos
$_pagi_totalPags = ceil($_pagi_totalReg / $_pagi_cuantos);
//Creamos la navegación a páginas específicas. Una línea tipo: <<anterior 1 2 3 4 siguiente>>
//La idea es pasar también en los enlaces las variables hayan llegado por url.
$_pagi_enlace = $_SERVER['PHP_SELF'];
$_pagi_query_string = "?";
if(isset($_GET)){
//Si ya se han pasado variables por url, escribimos el query string concatenando
//los elementos del array $_GET excepto la variable $_GET['pg'] si es que existe.
$_pagi_variables = $_GET;
foreach($_pagi_variables as $_pagi_clave => $_pagi_valor){
if($_pagi_clave != 'pg'){
$_pagi_query_string .= $_pagi_clave."=".$_pagi_valor."&";
}
}
}
//Añadimos el query string a la url.
$_pagi_enlace .= $_pagi_query_string;
//La variable $_pagi_navegacion contendrá los enlaces a las páginas.
$_pagi_navegacion = '';
if ($_pagi_actual != 1){
//Si no estamos en la página 1. Ponemos el enlace "anterior"
$_pagi_url = $_pagi_actual - 1;//será el número de página al que enlazamos
$_pagi_navegacion .= "<a href='".$_pagi_enlace."pg=".$_pagi_url."'>« Anterior</a> ";
}
//Enlaces a números de página:
for ($_pagi_i = 1; $_pagi_i<=$_pagi_totalPags; $_pagi_i++){//Desde página 1 hasta última página ($_pagi_totalPags)
if ($_pagi_i == $_pagi_actual) {
//Si el número de página es la actual ($_pagi_actual). Se escribe el número, pero sin enlace y en negrita.
$_pagi_navegacion .= "<b> $_pagi_i </b>";
}else{
//Si es cualquier otro. Se escibe el enlace a dicho número de página.
$_pagi_navegacion .= "<a href='".$_pagi_enlace."pg=".$_pagi_i."'>".$_pagi_i."</a> ";
}
}
if ($_pagi_actual < $_pagi_totalPags){
//Si no estamos en la última página. Ponemos el enlace "Siguiente"
$_pagi_url = $_pagi_actual + 1;//será el número de página al que enlazamos
$_pagi_navegacion .= "<a href='".$_pagi_enlace."pg=".$_pagi_url."'>Siguiente »</a>";
}
//Hasta acá hemos completado la "barra de navegación"
//Calculamos desde qué registro se mostrará en esta página
//Recordemos que el conteo empieza desde CERO.
$_pagi_inicial = ($_pagi_actual-1) * $_pagi_cuantos;
//Consulta SQL. Devuelve $cantidad registros empezando desde $_pagi_inicial
$_pagi_sqlLim = $_pagi_sql." LIMIT $_pagi_inicial,$_pagi_cuantos";
$_pagi_result = mysql_query($_pagi_sqlLim) or die ("Error en la consulta limitada. Mysql dijo: <b>".mysql_error()."</b>");
//A partir de aquí quedan disponibles dos variables:
//$_pagi_navegacion : que contiene los enlaces para navegar por las páginas
//$_pagi_result : que contiene el id del resultado de la consulta a la BD para los registros de la página actual.
?>