PHP分页机制

    xiaoxiao2021-03-25  111

    <?php class page{ private $infocount;//信息总数 private $pagesize;//每页数量 private $pagecount;//页面总数 private $currpage;//当前页面 function __construct($ifcount,$pgsize,$pgcount=1,$cupage=1){ $this->infocount=$ifcount; $this->pagesize=$pgsize; $this->pagecount=ceil($this->infocount/$this->pagesize); $this->currpage=min($this->pagecount,max(1,(int)@$_GET['page'])); } function hello(){ echo "信息总数:"; echo $this->infocount; echo "每页显示数量:"; echo $this->pagesize; echo "<br>"; echo $this->pagecount; echo "<br>"; echo $this->currpage; } function show(){ $s="页码 "; for($i=1;$i<=$this->pagecount;$i++){ if($i==$this->currpage) $s.="<span style='color:#ff0000;font-weight:bold;'> $i</span>"; else $s.="<a href='".$this->pageurl()."$i'> $i</a>"; } return $s; } function limit(){ return "limit ".($this->currpage-1)*$this->pagesize.",".$this->pagesize; } function pageurl(){ // return @$_GET['tyid'];//比较 //获取当前网址,即:$url=/shop/admin/article.php $url=isset($_SERVER['REQUEST_URI'])?$_SERVER['REQUEST_URI']:$SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING']; //将字符串转换成数组,即$request_arr=array('path'=>'/shop/admin/article.php'); //若传来2个参数typeid(分类id)和page(当前页码)的值,则$request_arr=array('path'=>'/shop/admin/article.php','query'=>array('typeid'=>$typeid,'page'=>$page)); $request_arr=parse_url($url); if(isset($request_arr['query'])){ //echo '有参数'; //将解析的部分赋给$arr,即$str=$request_arr['query'] parse_str($request_arr['query'],$arr); //注销掉其中的某个值 unset($arr['page']); //重新把这个网址组合起来,如:$url=/shop/admin/article.php?typeid=3&page= //其中,http_build_query将parse_str打散的数组再重新组合成原来parse_url的字符串样式 $url=$request_arr['path']."?".http_build_query($arr)."&page="; }else{ //echo '无参数'; $url=strstr($url,"?")?$url."page=":$url."?page="; } return $url; } }
    转载请注明原文地址: https://ju.6miu.com/read-11213.html

    最新回复(0)