Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/04/2012, 13:00
Avatar de BLAH !!
BLAH !!
 
Fecha de Ingreso: septiembre-2003
Ubicación: Región Metropolitana, Santiago, Chile
Mensajes: 706
Antigüedad: 21 años, 3 meses
Puntos: 16
Información Aporte: Paginacion con php

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";   
    
$contarokmysql_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-familyArialVerdanaborder:0margin:0padding:0; }
#pagination li          
 
font-familyArialVerdanaborder:0margin:0padding:0font-size:11px; list-style:nonefloat:left; }
#pagination a          
 
font-familyArialVerdanaborder:solid 1px #9aafe5; margin-right:2px; }
#pagination .previous-off, #pagination .next-off  
 
font-familyArialVerdanaborder: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-familyArialVerdanafont-weight:bold; }
#pagination .active    
 
font-familyArialVerdanabackground:#2e6ab1; color:#FFFFFF; font-weight:bold; display:block; float:left; padding:4px 6px; margin-right:2px; }
#pagination a:link, #pagination a:visited  
 
font-familyArialVerdanacolor:#0e509e; display:block; float:left; padding:3px 6px; text-decoration:none; }
#pagination a:hover    
 
font-familyArialVerdanaborder: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 !!!
__________________
Adios ...!!!!