Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/12/2010, 12:51
pedrodavid
 
Fecha de Ingreso: diciembre-2010
Mensajes: 11
Antigüedad: 13 años, 4 meses
Puntos: 0
Exclamación paginacion a un archivo txt o div

Buenas tardes, en primer lugar Dios los bendiga a todos que hayan pasado una feliz navidad, ahora si amigos estoy aquí para solicitar una ayuda quiero hacer una paginación de registros/archivos, me funciona y hace lo que quiero, pero hay un pequeño detalle con el código que quiero que al final donde aparecen todas las paginitas (los números) no aparezcan todas si no las primeras 4 y/o a medida que vaya avanzando estas vayan apareciendo y las anteriores se vayan ocultado, ejemplo:
Tengo 100 registros/archivos y quiero mostrar 4 archivos/registros por página, entonces voy a tener 25 páginas.
Lo que quiero en vez de que me a parezca los 20 numeritos 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18, 19 20 21 22 23 24 25 me vayan apareciendo de tres en tres o las primeras 5 y luego de presionar la 5, las otras, el punto es que no quiero que me aparezcan todas, sino algo así como lo tienen aquí en el foro. Aquí les dejo mi código para que me ayuden.

Código PHP:
//contar archivos desde un directorio
$gestor opendir('Articulo/');
    while (
false !== ($archivo readdir($gestor))) {
        if(
$archivo!='.' && $archivo!='..'){
         
$archivos[] = $archivo;
        }
    }
$mostrar 4//numero de elementos por pagina
$cuantos count($archivos); //para saber cuantos elementos tiene el array
//$archivos = rsort ($archivos); //para que muestre los nuevos primeros. Totalmente opcional
$paginas $cuantos $mostrar//numero de paginas

if (!isset($mostrar) or empty($mostrar) or !is_int($mostrar)) {
    
$mostrar 4//por si se te olvid?clarar $mostrar o no es entero le damos de valor 5
}
if (empty(
$_GET["pagina"])) { //si no hay pagina...
    
$desde 0//principio de la primera pagina
    
$hasta $desde $mostrar//fin de la primera pagina
}
//------------------------

if (!empty($_GET["pagina"])) { //si estamos en una pagina distinta de la primera...
    
$desde = (int)$_GET["pagina"]; //principio de la pagina X
        
if ($desde $mostrar $cuantos) { //si principio + 10 no es mayor a la cantidad de elementos
            
$hasta $desde $mostrar//fin de la pagina X
    
}else{
        
$hasta $desde + ($cuantos $desde); //por si $principio + 10 es superior al numero de elementos
    
}

este codigo muestra los archivos(registros, en mi caso de un directorio.

Código PHP:
<?php
                    
for ($j=0$j<$paginas$j++) {
                        
$dexde $j*$mostrar;
                        if(
$dexde==$desde){
                    
?>
                   <strong class="nLink"><?php echo ($j);?></strong> <!-- puedo poner $dexde y veo la cantidad de inicio de cada 4 articulos por pagina-->
                <?php    
                        
}
                        else{
                        
?>
                <a class="nLink" href="mainj.php?pagina=<?php echo $dexde?>"><?php echo "&nbsp;".($j)."&nbsp;";?></a>
                <?php 
                
}
                } 
?>
y este esl el codigo que tiene los numero de cada pagina a mostrarse.
Código PHP:
                <?php if ($desde!=0) { ?>
                <a class="nLink" href="mainj.php?pagina=<?php echo "0"?>"><font face="Verdana, Geneva, sans-serif" size="-1.5">&lt; inicio de pagina</font></a>&nbsp;
                <a class="nLink" href="mainj.php?pagina=<?php echo $desde-4?>"><font face="Verdana, Geneva, sans-serif" size="-1.5">&lt; pagina anterior</font></a>
                <?php ?>
                &nbsp;
                <?php if ($cuantos>($desde+4)) { ?>
                <a class="nLink" href="mainj.php?pagina=<?php echo $desde+4?>"><font face="Verdana, Geneva, sans-serif" size="-1.5">&gt; pagina Siquiente</font></a>
                &nbsp;
                <a class="nLink" href="mainj.php?pagina=<?php echo $cuantos-4?>"><font face="Verdana, Geneva, sans-serif" size="-1.5">&gt; pagina final</font></a>
                
                <?php ?>
y que este codigo cuando me situo en la ultima pagina este se desabilite, cuando presione el numerito de la pagina final.
Código PHP:
                <a class="nLink" href="mainj.php?pagina=<?php echo $cuantos-4?>"><font face="Verdana, Geneva, sans-serif" size="-1.5">&gt; pagina final</font></a>
gracias al que pueda ayudar, muchas gracias un abrazo.