Red de conocimiento informático - Conocimiento de la instalación - Buscar código de paginación php

Buscar código de paginación php

////////////////////////////////// paginación /////////////// /// ////////////

$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) ){

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

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ágina anterior

if (preg_match_all('/\{pre= ([^}]* )\}/', $tplcontent, $matches)){

$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;';

}

}

$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;