hola buenas tardes , (es de noche por aqui) como les va, su foro es muy interesante y e visto muchas publicaciones y es muy bueno, sigan asi, felicito a las personas y administradores por tal labor, bueno ahora a lo principal, tengo un problemita, estoy haciendo una pagina web y necesito paginar los articulos de mis web (publicaciones), ya consequi que funcione el rollo es que quiero que los numeros de pagina se muestren de 2 en dos o 3 en 3 etc, es decir 1,2,3,4 luego presione 2, me muestre 1,2,3,4 y asi hasta el 4 al llegar hay que pase el resto de las paginas 4,5,6,7, luego al 7,8,9,... bueno ya saben mas o menos asi aqui les apunto mi codigo.
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
}
}
?>
aqui muestro el nombre de los archivos despues le pongo el codigo para que muestre el contenido, ya se como hacerlo jejejeje
Código PHP:
<?php
for ($i=$desde; $i<$hasta; $i++) {
echo $archivos[$i]."<br>"; //mostramos los elementos de la pagina en la que estamos. Aqui que cada uno lo haga como buenamente pueda. xD
}
?>
y aqui el codigo de paginacion, lo tengo separado por cuestiones de no me gusta mucho usar el "echo".
Código PHP:
Aqui donde me da el problema que no consigo que me muestre el numero de pagina, como lo explique arriba.
<?php
for ($j=0; $j<$paginas; $j++) {
$dexde = $j*$mostrar;
if($j==$desde){
?>
<b><?php echo $j+1;?></b> <!-- puedo poner $dexde y veo la cantidad de inicio de cada 4 articulos por pagina-->
<?php
}
else{?>
<a href="mainj.php?pagina=<?php echo $dexde; ?>"><font face="Verdana, Geneva, sans-serif" size="-1.5"><?php echo " ".($j+1)." ";?></font></a>
<?php
}
} ?>
por favor necesito su ayuda, espero sus respuesta y muchas gracias,