Estoy paginando con este codigo, el problema que tengo es que la parte donde se le especifica cuantas paginas mostrar no funciona, entonces me muestra todas y se vuelve molesto...
Es decir, aparece << anterior 0 1 2 3 4 5 6 7 8 9 10 11 12 siguiente >> en ves de aparecer << anterior 1 2 3 4 5 siguiente >> ....
Gracias.
Código:
<?
$base="x";
if (!isset($pg))
$pg = 0; // $pg es la pagina actual
$cantidad=10; // cantidad de resultados por página
$inicial = $pg * $cantidad;
$pegar = "SELECT id,nick,nombre from usuarios order by fecha DESC LIMIT $inicial,$cantidad";
$cad = mysql_db_query($base,$pegar) or die (mysql_error());
$contar = "SELECT id,nick,nombre from usuarios order by fecha DESC";
$contarok= mysql_db_query($base,$contar);
$total_records = mysql_num_rows($contarok);
$pages = intval($total_records / $cantidad);
while($row = mysql_fetch_array($cad)) {
MOSTRAR
}
//--AQUICubatron
$intervalo = ceil ((8/2)-1);
$desde = $pg - $intervalo;
$hasta = $pg + $intervalo;
if($desde < 1){
$hasta -= ($desde - 1);
$desde = 0;
}
if($hasta > $pages){
$desde -= ($hasta - $pages);
$hasta = $pages;
if($desde < 1){
$desde = 0;
}
}
echo "<div style='padding-bottom:2px'>";
// Creando los enlaces de paginación
echo "<p>";
if ($pg <> 0)
{
$url = $pg - 1;
echo "<a href='p".$url.".html'><img src='images/izquierda.gif'/></a> ";
}
else {
echo " ";
}
for ($i = 0; $i<($pages + 1); $i++) {
if ($i == $pg) {
echo "<a class='pagi1' href='p".$i.".html'>".$i."</a> ";
}
else {
echo "<a class='pagi2' href='p".$i.".html'>".$i."</a> ";
}
}
if ($pg < $pages) {
$url = $pg + 1;
echo "<a href='p".$url.".html'><img src='images/derecha.gif'/></a>";
}
else {
echo " ";
}
echo "</p>";
echo "</div>";