一.首先将分页类文件放到 thinkphp\library\think下,记住要给分页类命名空间namespace think;
total=count($sdata); $this->listRows=$listRows; $this->uri=$this->getUri(); $this->page=!empty($_GET["page"]) ? $_GET["page"] : 1; $this->pageNum=ceil($this->total/$this->listRows); $this->render=$this->pageHtml(); $this->data=array_slice($sdata,($this->page-1)*$this->listRows,$listRows); return $this->data; } //动态获取url private function getUri(){ $url=$_SERVER["REQUEST_URI"].(strpos($_SERVER["REQUEST_URI"], '?')?'':"?"); $parse=parse_url($url); if(isset($parse["query"])){ parse_str($parse['query'],$params); unset($params["page"]); $url=$parse['path'].'?'.http_build_query($params); } return $url; } //首页 private function first(){ $html = ""; if($this->page==1) $html.=" 首 页"; else $html.=" 首 页"; return $html; } //上一页 private function prev(){ $html = ""; if($this->page==1) $html.=" 上一页"; else $html.=" 上一页"; return $html; } //页码按钮 private function pageList(){ $linkPage=""; $inum=floor($this->listNum/2); for($i=$this->page-$inum;$i<=$this->page+$inum;$i++){ if($i<=0){ continue; } if($i>$this->pageNum){ continue; } if($i == $this->page){ $linkPage.=" {$i}"; }else{ $linkPage.=" {$i}"; } } return $linkPage; } //下一页 private function next(){ $html = ""; if($this->page==$this->pageNum) $html.=" 下一页"; else $html.=" 下一页"; return $html; } //尾页 private function last(){ $html = ""; if($this->page==$this->pageNum) $html.=" 尾 页"; else $html.=" 尾 页"; return $html; } //输入指定页码 private function goPage(){ return ' '.$this->pageNum.')?'.$this->pageNum.':this.value;location=\''.$this->uri.'&page=\'+page+\'\'}" value="'.$this->page.'" style="width:52px">'.$this->pageNum.')?'.$this->pageNum.':this.previousSibling.value;location=\''.$this->uri.'&page=\'+page+\'\'"> '; } //选择指定页码 function selectPage(){ $inum=10; $location = $this->uri.'&page='; $selectPage ="到第 页"; return $selectPage; } //组装分页的html模板 function pageHtml(){ $html = ""; // $html .= " 共有{$this->total}条记录"; // $html .= " 每页显示{$this->listRows}条"; // $html .= " 当前{$this->page}/{$this->pageNum}页"; $html .= $this->first(); $html .= $this->prev(); $html .= $this->pageList(); $html .= $this->next(); $html .= $this->last(); $html .= $this->goPage(); $html .= $this->selectPage(); $html .= ''; return $html; } }
二.控制器页面 调用分页类use \think\Page;
select(); $p = new Page($shuju,10); //新建分页类,查询10条 $sj= $p->data; $fenye = $p ->pageHtml(); $n = new View(); $n->assign("shuju",$sj); $n ->assign("yema",$fenye); return $n->fetch(); } }
三.视图层页面
用户名 | 姓名 | 性别 | 联系电话 | 身份证号 | 地区 | 部门 | 录入人 | 推荐人 | 督训人 | 操作 |
{$v.ygid} | {$v.ygname} | {$v.sex} | {$v.tel} | {$v.sfid} | {$v.diqu} | {$v.bm} | {$v.lrr} | {$v.tjrname} | {$v.dxname} | 更多详情 |
{$yema}
效果如下: