HOLA A TODOS LES DEJO UN CÓDIGO QUE MODIFIQUE PARA PAGINAR BASES DE DATOS Y SECCIONAR DE ACUERDO A INTERVALOS LOS RESULTADOS ME EXPLICO
<<ANTERIOR 1 ... 5 6
7 8 9 ... 14 SIGUIENTE >>
A INTERVALOS ME REFIERO QUE SOLO MUESTRE 2 NÚMEROS A LA IZQUIERDA Y DERECHA DEL QUE TENEMOS SELECCIONADO.
PUEDEN MODIFICAR LA VARIABLE $INTERVALO PARA AUMENTAR O REDUCIR DICHO NUMERO.
AQUI LES DEJO EL CODIGO PHP
CÓDIGO PHP:
Código PHP:
<?php
require("ConnectBD.inc.php");
$page=$_GET['page'];
if (!isset($page)){$page = 0;}
$inicial = $page * $cantidad;
?>
<table border="0" cellpadding="0" cellspacing="3"><tr><td align="center">
<ul id="pagination">
<?php
$sql = "SELECT * FROM table ORDER BY id ASC LIMIT $inicial,$cantidad";
$consulta = mysql_query($sql) or die(mysql_error());
$contar = "SELECT * FROM table";
$contarok= mysql_query($contar) or die(mysql_error());
$total_records = mysql_num_rows($contarok);
$total_pages = ceil($total_records / $cantidad);
$prev = ($page - 1);
$ultima = ($total_pages -1);
$next = ($page + 1);
$intervalo = 2;
if($page == 0){
echo "<li class=\"previous-off\">«Anterior</li>"; }else{
if ($page >= ($intervalo + 1)){
echo "<li class=\"previous\"><a href=\"".$_SERVER['PHP_SELF']."?page=$prev\">«Anterior</a></li> <li><a href=\"".$_SERVER['PHP_SELF']."?page=0\">1</a></li> <li class=\"previous-off\">...</li> ";}else{
echo "<li class=\"previous\"><a href=\"".$_SERVER['PHP_SELF']."?page=$prev\">«Anterior</a></li>";}
}
$min = $page - $intervalo;
$max = $page + $intervalo + 1;
if($min < 0){
$max -= $min;
$min = 0;
}
if($max > $total_pages){
$min -= ($max - $total_pages);
$max = $total_pages;
if($min < 0){
$min = 0;
}
}
for($i=$min;$i<$max;$i++) {
$p = $i+1;
if(($page) == $i){
echo "<li class=\"active\">$p</li>"; }else{
echo "<li><a href=\"".$_SERVER['PHP_SELF']."?page=$i\">$p</a></li>";}
}
if($page < $ultima){
if ($page < ($ultima - $intervalo)){
echo " <li class=\"next-off\">...</li> <li><a href=\"".$_SERVER['PHP_SELF']."?page=$total_pages\">$total_pages</a></li> <li class=\"next\"><a href=\"".$_SERVER['PHP_SELF']."?page=$next\">Siguiente»</a></li>"; }else{
echo "<li class=\"next\"><a href=\"".$_SERVER['PHP_SELF']."?page=$next\">Siguiente»</a></li>";}
}else{
echo "<li class=\"next-off\">Siguiente»</li>";
}
?></td></tr></table>
CÓDIGO CSS:
Código PHP:
ul
{ font-family: Arial, Verdana; border:0; margin:0; padding:0; }
#pagination li
{ font-family: Arial, Verdana; border:0; margin:0; padding:0; font-size:11px; list-style:none; float:left; }
#pagination a
{ font-family: Arial, Verdana; border:solid 1px #9aafe5; margin-right:2px; }
#pagination .previous-off, #pagination .next-off
{ font-family: Arial, Verdana; border:solid 1px #DEDEDE; color:#888888; display:block; float:left; font-weight:bold; margin-right:2px; padding:3px 4px; }
#pagination .next a, #pagination .previous a
{ font-family: Arial, Verdana; font-weight:bold; }
#pagination .active
{ font-family: Arial, Verdana; background:#2e6ab1; color:#FFFFFF; font-weight:bold; display:block; float:left; padding:4px 6px; margin-right:2px; }
#pagination a:link, #pagination a:visited
{ font-family: Arial, Verdana; color:#0e509e; display:block; float:left; padding:3px 6px; text-decoration:none; }
#pagination a:hover
{ font-family: Arial, Verdana; border:solid 1px #0e509e; }
ESPERO SIRVA PARA ALGUIEN CREO QUE ESTA BIEN EXPLICADO Y TRATE DE SIMPLIFICAR LO QUE MAS PUDE EL CODIGO.
NO OLVIDEN DARME UN BUEN KARMA SHAKRA Y TODAS ESAS COSAS !!!