Buscar código de paginación php
$pageListNum=20; //mostrar 10 elementos por página
$totalPage=0; //total de páginas
$page=isset($page)?(int)$page:1; //página actual
$start=($page-1)*$pageListNum; número de inicio
$totalPage=ceil($pageNum/$pageListNum);
require_once(WEB _CLASS.'/page_class.php');
$página =nueva PageClass ($página, $totalPage);
$showpage=$page-gt;showPage()
echo $showpage;
/ ///////////////page_class.php//////////////////////////
lt; ?php
header("Tipo de contenido: texto/html; charset=utf8"); Clase de paginación
* Las URL con múltiples parámetros también se pueden paginar y también puedes personalizar el estilo de paginación
* phpgt;=5.0
* @version 0.1 .1
* @copyright 2006-2010
* @ clase de paquete
*/
clase PageClass{
$url privada ;
$cpage privada;
$totalPage privada;
$tpl privada;
/**
* Constructor de PageClass
* Descripción de la plantilla: {index} representa la primera página {pagelist} lista de enlaces {option} cuadro de lista desplegable {next} siguiente página {pre} anterior página {cur} La página actual {index=primera página} significa que la primera página tiene el texto del enlace de la primera página, es decir, el texto del enlace después del símbolo, pero esto no se aplica a {pagelist}{option}
* @param string $cpage página actual
* @param string $tatolPage número total de páginas
* @param string $tpl plantilla.
* @param string $url La URL que se paginará, la predeterminada es la página actual
* @return PageClass
*/
función __construct($cpage, $totalPage, $tpl='', $url='' ){
$this-gt;$cpage;
$this -gt; página total=$páginatotal;
if(strlen($tpl)==0){
$this-gt="{cur=página actual}{ index; =primera página} ".
{pre=página anterior}{siguiente=página siguiente{siguiente=página siguiente} {end=última página{end=última página}{opción}"; //C{opción}"; //Paginación en chino
}else{
$this-gt; tpl=$tpl;
}
if(strlen($url)== 0){
$this-gt; url=$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];
}else{
$this-gt ;url=$url;
}
}
}
/**
* Esta función showPage devuelve el HTML de paginación generado
* @ Devuelve una cadena
*/
función showPage(){
//mostrar paginación
$urlOption=array(); //sufijo de URL, por ejemplo: ?page=1amp; typeid=1
$parse_ url=parse_url( $this-gt;url);
$urlMain='http://'.
if ($parse_url['path']) {
//la URL tiene parámetros
$urlArr=split('amp;', $parse_url['query']);
if(is_ array($urlArr) ){ p>
foreach($urlArr as $key=gt;$value){
$c=split('=',$value);
if($c [0]==página){
}else{
array_push($urlOption, $c[0].' ='.$c[1]) ;
}
}
}
}else{
//la URL no tiene parámetros
//if($this-gt; cpagelt; $this-gt; totalPage){
// array_ push($urlOption, "page=2");
/ /}
}
if(is_array($urlOption)){
$urlOptionStr_t=implode('amp;',$urlOption
}
if(strlen($urlOptionStr_t)gt;0){
$urlOptionStr.='amp;'.$urlOptionStr_t;
}
$tplcontent=$this-gt;tpl;//plantilla de paginación
$showPage=$tplcontent;
//página de inicio p>
if (preg_match_all('/ \{index=([^}]* )\}/', $tplcontent, $matches)){
$t_tpl=$matches[
0][0]; //Contenido de la plantilla
$t_word=$matches[1][0]; //Campo de paginación
$ indexStr='lt; '.$urlMain.'?page=1'.$urlOptionStr.'"gt;'. =([^}]* )\}/', $tplcontent, $matches)){
$ t_tpl=$coincidencias[0][0];
$t_word=$coincidencias[1][0];
$curStr=$t_word.$this-gt; '/'.$this-gt; totalPage;
$showPage=str_replace($t_tpl, $curStr, $showPage
}
// página final
if (preg_match_all('/\{end=([^ }]* )\}/', $tplcontent, $matches)){
$t_tpl=$ coincidencias[0][0];
$t_word=$coincidencias[1][0];
$endPage='lt;a href="'.$urlMain.' ?page='.$this-gt;totalPage.$urlOptionStr.'"gt;'.
$t_word.'lt;/agt;';
$showPage=str_replace($t_tpl, $endPage, $showPage
}
); p> p>
//Página anterior
if (preg_match_all('/\{pre= ([^}]* )\}/', $tplcontent, $matches)){ p >
$t_tpl=$coincidencias[0][0];
$t_word=$coincidencias[1][0]
if ($this-gt; cpagegt ;1){
$prePage='lt;a href="'.$urlMain.'?page='.($this-gt;cpage-1).$urlOptionStr.'"gt ; '.$t_word.'lt;/agt;';
}else{
$prePage=$t_word;
}
$showPage=str_replace($t_tpl, $prePage, $showPage
}
//Página siguiente
if (preg_match_all('/\ { next=([^}]* )\}/', $tplcontent, $coincidencias)){
$t_tpl=$coincidencias[0][0];
$ t_word =$ coincidencias[1][0];
if($this-gt; cpagelt; $this-gt; totalPage amp; amp; $this-gt; totalPagegt; 1){
$nextPage=' lt; a href="'.$urlMain.'?page='.($this-gt; cpage 1).$urlOptionStr.'"gt;'.$t_word.'lt; / agt;';
}else{
$nextPage=$t_word;
}
$showPage=str_replace($t_tpl , $nextPage, $showPage);
}
//lista de enlaces
if (preg_match("{pagelist}", $tplcontent)){< / p>
for($i=1; $ilt; $this-gt; totalPage 1; $i ){
$linkPage.=' lt; a href="'.
$urlMain.'?page='.$i.$urlOptionStr.'"gt;'.$i.'lt;/agt;';
}
} p>
$showPage=str_replace('{pagelist}', $linkPage, $showPage
}
//paginación del cuadro desplegable);
if (preg_match( "{option}", $tplcontent)){
$optionPage='lt; select onchange="javascript:window.location='."'" .$urlMain."?page=' this.options[this.selectedIndex].value "."' $urlOptionStr'"."' ;"gt;';
for($i=1; $ilt;$this-gt;totalPage 1;$i ){
if($i==$this-gt;cpage){
$optionPage.="lt; opción seleccionada='valor seleccionado'='$i'gt; primero".$i."pagelt;/optiongt;\n";
}else{
$optionPage. ="lt;opción valor='$i'gt;1º ".$i."pagelt;/optiongt;\n";
}
}
}
$optionPage.='lt;/selectgt;';
$showPage=str_replace('{option}', $optionPage, $showPage);
}
return $showPage;
}
}} gt;