Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/10/2010, 10:53
metcom
 
Fecha de Ingreso: julio-2010
Mensajes: 19
Antigüedad: 13 años, 9 meses
Puntos: 0
Mensaje Sitema php de multipages - paginas multiples

Hola amigo de forosdelweb.com, siempre tenia un problema con mis paginas me mostraba tantas que decidi buscar un sistema que me las juntara con un limite.

el limite era mostrar 10 post por pagina , busqué un sistema de php para que
me solucionara mi problema , pero nunca lo encontré , ya sabia un poco de php pero tanto para crear algo así , segui y segui hasta que he creado una funcion que te permite hacer eso , creo que le llama "Multipages" , me funciona de maravilla. descargalo te puede servir !


este archivo es mpages.php

Código PHP:
<?/// Gustavo Garcia creador , correo [email protected]
 
function mpages($indexcount,$tp,$mp,$p){
if (!empty(
$p)){$page=$p;}else{$page=1;}
$count=$indexcount;// Total Post
$maxpost=$tp/// Total Post a Mostrar
$pagemax=$mp/// Maximas paginas 
$offset=($page*$maxpost-$maxpost);
           
$total ceil($count/$maxpost);
                 if (
$total<$pagemax) {
                        
$maxpage=$total;
                 }else {
     
$maxpage=$pagemax;
}
if (
$page==1){$i=$page;}
    if (
$count<$maxpost+1){}else{
$mpages.='<ul id="multipages">';
$mpages.='<li><b>Total</b>'.$count.'</li>';
if (
$page>$total-$pagemax) {
                         
$i=$total-$pagemax;
                       
$mostrarpage=$total;
                     }else {
                 
$i=$page;
       
$mostrarpage=($maxpage+$i); 
 }
$pageprev=($page-1);
$mpages.='<li>';
         if (
$page==1){ $mpages.='Anterior'; }else{$mpages.="<a href=\"?p=$pageprev\">Anterior</a>";}
$mpages.='</li>';
         while (
$i<=$mostrarpage):
                             
$int=$i;$i++;
                          if (
$int<$total+1){
                      if (
$int<1){}else{
                    if(
$page==$int){
                
$mpages.="<li class=\"pageon\">$int</li>"
             }else{
           
$mpages.="<li><a href=\"?p=$int\">".$int."</a></li>";
      }
   } 
 } 
endwhile;
$pagenext=($page+1);
$mpages.='<li>';
         if (
$page==$total){ $mpages.='Siguiente'; }else{$mpages.="<a href=\"?p=$pagenext\">Siguiente</a>";}
$mpages.='</li>';
$mpages.='<li>'.page.'</li>';
$mpages.='</ul>';
$multi_pages = array($mpages,$offset,$maxpost);
return 
$multi_pages;
}
}


?>

con este se llama la function
<?
include('mpages.php');
$mpages=mpages(100,10,5,$p); /// sacamos el total de post y lo ponemos en donde esta el 100 , 10 es el limite de post por pagina, 5 es el total de paginas a mostrar en el nava , y $p es la pagina actual en la que estamos..
?>


<? echo $mpages[0]?> este es para printar el page nava
<style>
.pageon {
background: #ddd;
display:block;
padding:0;
}
#multipages {
display:block;
font-family:Arial, Helvetica, sans-serif;
font-size:13px;
list-style-type:none; }

#multipages li {
display:block;
padding:0;
float:left;
border: 1px solid #ddd;
margin-right:5px;
padding:3px 5px 3px 5px;
text-decoration:none;
color:#333;
font-weight:bold;
}

#multipages li a{
display:block;
float:left;
text-decoration:none;
color:#000;
}
</style>ffffffffffffffff
<? echo $mpages[0]?>


Cualquier pregunta mi correo es [email protected] mi pagina es www.metcom.ws