Hola, proba este que estoy usando yo, y funciona bien.
Espero te sirva.
Saludos, Ricardo !!!
Código PHP:
<?php
//conecto con la base de datos
include('conexion.php');
//Limito la busqueda
$TAMANO_PAGINA = 15;
//examino la página a mostrar y el inicio del registro a mostrar
$pagina = $_GET["pagina"];
if (!$pagina) {
$inicio = 0;
$pagina=1;
}
else {
$inicio = ($pagina - 1) * $TAMANO_PAGINA;
}
//miro a ver el número total de campos que hay en la tabla con esa búsqueda
$rs = mysql_query("select * from mano_obra_directa", $conexion);
$num_total_registros = mysql_num_rows($rs);
//calculo el total de páginas
$total_paginas = ceil($num_total_registros / $TAMANO_PAGINA);
//pongo el número de registros total, el tamaño de página y la página que se muestra
//echo "Número de registros encontrados: " . $num_total_registros . "<br>";
//echo "Se muestran páginas de " . $TAMANO_PAGINA . " registros cada una<br>";
//echo "Mostrando la página " . $pagina . " de " . $total_paginas . "<p>";
//construyo la sentencia SQL
$rs = mysql_query("select * from mano_obra_directa order by codigo " . $criterio . " limit " . $inicio . "," . $TAMANO_PAGINA);
if (mysql_num_rows($rs))
{
echo "<table border = '1'> \n";
echo "<tr><td>CODIGO</td>
<td>NOMBRE</td>
<td>UNIDAD</td>
<td>COSTO $</td>
<td>COSTO USD</td></tr> \n";
}
while ($fila = mysql_fetch_array($rs))
{
echo "<tr><td>".$fila['codigo']."</td>";
echo "<td>".$fila['nombre']."</td>";
echo "<td>".$fila['unidad']."</td>";
echo "<td>".$fila['costo_mod_pesos']."</td>";
echo "<td>".$fila['costo_mod_dolar']."</td></tr><br>" ;
}
//muestro los distintos índices de las páginas, si es que hay varias páginas
if ($total_paginas > 1)
{
for ($i=1;$i<=$total_paginas;$i++)
{
if ($pagina == $i)
//si muestro el índice de la página actual, no coloco enlace
echo $pagina . " ";
else
//si el índice no corresponde con la página mostrada actualmente, coloco el enlace para ir a esa página
echo "<a href='listado_mod.php?pagina=" .$i. "&criterio=" . $txt_criterio . "'>" . $i . "</a> ";
}
}
//cerramos el conjunto de resultado y la conexión con la base de datos
mysql_free_result($rs);
mysql_close($conexion);
?>