永发信息网

求php高效分页方案。

答案:2  悬赏:80  手机版
解决时间 2021-04-02 18:16
  • 提问者网友:自食苦果
  • 2021-04-01 21:47
求php高效分页方案。
最佳答案
  • 五星知识达人网友:西风乍起
  • 2021-04-01 23:08
class Page{
var $_data;
var $_pageSize = 6;
var $_currentPage = 1;
var $_fontSize = 12;
function Page($data,$pageSize,$currentPage,$fontSize){
if(!empty($data)){$this->_data = $data;}
}

function setPageSize($pageSize){
$this->_pageSize = $pageSize;
}

function setCurrentPage($currentPage){
$this->_currentPage = $currentPage;
}

function getPageSize(){
return $this->_pageSize;
}

function getCurrentPage(){
return $this->_currentPage;
}

function getPageData($sql){
if($sql != ''){
$sql .= " limit ".($this->_currentPage-1)*$this->_pageSize." , " .$this->_pageSize;
}
$pageData = $this->_data->query($sql);
return $pageData;
}
function getPageLink($sql){
$nums = $this->_data->nums($sql);
$allPages = $nums/$this->_pageSize;
if(!is_int($allPages)){
$allPages = intval($nums/$this->_pageSize)+1;
}
if($this->_currentPage <= 1){
$pageLink = "首页 上一页 _currentPage+1)."'>下一页 尾页 当前第 ".$this->_currentPage." 页 总共 ".$allPages." 页";
}
else if($this->_currentPage >= $allPages){
$pageLink = "首页 _currentPage-1)."'>上一页 下一页 尾页 当前第 ".$this->_currentPage." 页 总共 ".$allPages." 页";
}
else{
$pageLink = "首页 _currentPage-1)."'>上一页 _currentPage+1)."'>下一页 尾页 当前第 ".$this->_currentPage." 页 总共 ".$allPages." 页";
}
return $pageLink;
}
}

$page = new Page($data);
?>追问用 limit 吗?听说limit比较慢?追答分页的算法 不能不用呢 限制显示的条数
如果有更好的方法请赐教
全部回答
  • 1楼网友:怙棘
  • 2021-04-01 23:22
thinkphp里的分页就不错。追问能不能发一个thinkphp里的分页原理给我看看,我看不懂里面的分页在那里?追答http://www.thinkphp.cn/Manual/169
官方讲解。
文件在ThinkPHP\Lib\ORG\Util 下的 Page.class.php
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯