
正文
关于thinkphp分页没显示的信息
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
我用thinkPHP写分页的时候,为什么前台首页和末页显示的不对
一、分页方法
复制代码
/**
* TODO 基础分页的相同代码封装,使前台的代码更少
* @param $m 模型,引用传递
* @param $where 查询条件
* @param int $pagesize 每页查询条数
* @return \Think\Page
*/
function getpage($m,$where,$pagesize=10){
$m1=clone $m;//浅复制一个模型
$count = $m-where($where)-count();//连惯操作后会对join等操作进行重置
$m=$m1;//为保持在为定的连惯操作,浅复制一个模型
$p=new Think\Page($count,$pagesize);
$p-lastSuffix=false;
$p-setConfig('header','li class="rows"共b%TOTAL_ROW%/b条记录 每页b%LIST_ROW%/b条 第b%NOW_PAGE%/b页/共b%TOTAL_PAGE%/b页/li');
$p-setConfig('prev','上一页');
$p-setConfig('next','下一页');
$p-setConfig('last','末页');
$p-setConfig('first','首页');
$p-setConfig('theme','%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%');
$p-parameter=I('get.');
$m-limit($p-firstRow,$p-listRows);
return $p;
}
复制代码
getpage方法可以放在TP框架的 Application/Common/Common/function.php,这个文档可以专门放置一些通用的方法,在哪里都可以调用(如:Controller文件,View文件等)。
二、调用分页方法
$m=M('products');
$p=getpage($m,$where,10);
$list=$m-field(true)-where($where)-order('id desc')-select();
$this-list=$list;
$this-page=$p-show();
再是View代码
div class="pagination"
{$page}
/div
三、最后就是分页的样式了,这个有些乱,因后台框架网上下载的,样式还没来的及整理,这个样式也可以自己实现,简单的。
复制代码
.pagination ul {
display: inline-block;
margin-bottom: 0;
margin-left: 0;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
-webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.05);
-moz-box-shadow: 0 1px 2px rgba(0,0,0,0.05);
box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
.pagination ul li {
display: inline;
}
.pagination ul li.rows {
line-height: 30px;
padding-left: 5px;
}
.pagination ul li.rows b{color: #f00}
.pagination ul li a, .pagination ul li span {
float: left;
padding: 4px 12px;
line-height: 20px;
text-decoration: none;
background-color: #fff;
background: url('../images/bottom_bg.png') 0px 0px;
border: 1px solid #d3dbde;
/*border-left-width: 0;*/
margin-left: 2px;
color: #08c;
}
.pagination ul li a:hover{
color: red;
background: #0088cc;
}
.pagination ul li.first-child a, .pagination ul li.first-child span {
border-left-width: 1px;
-webkit-border-bottom-left-radius: 3px;
border-bottom-left-radius: 3px;
-webkit-border-top-left-radius: 3px;
border-top-left-radius: 3px;
-moz-border-radius-bottomleft: 3px;
-moz-border-radius-topleft: 3px;
}
.pagination ul .disabled span, .pagination ul .disabled a, .pagination ul .disabled a:hover {
color: #999;
cursor: default;
background-color: transparent;
}
.pagination ul .active a, .pagination ul .active span {
color: #999;
cursor: default;
}
.pagination ul li a:hover, .pagination ul .active a, .pagination ul .active span {
background-color: #f0c040;
}
.pagination ul li.last-child a, .pagination ul li.last-child span {
-webkit-border-top-right-radius: 3px;
border-top-right-radius: 3px;
-webkit-border-bottom-right-radius: 3px;
border-bottom-right-radius: 3px;
-moz-border-radius-topright: 3px;
-moz-border-radius-bottomright: 3px;
}
.pagination ul li.current a{color: #f00 ;font-weight: bold; background: #ddd}
相关问答
Q1: thinkphp导入分页类,提示没有Page这个类
如果是你自己写的分页类,你应该用require把这个类引进来,注意thinkphp控制器中引进类是相对于入口文件index.php的路径,比如,如果你的分页类文件在Public目录,类文件的名称是page.class.php,你在控制器中就应该加上require ./Public/page.class.php;
如果是thinkphp里面的分页类,你对照一下thinkphp的分页教程就好了,应该是命名空间的问题。
Q2: ThinkPHP:求助!关于分页,分页成功了,但样式没了
是不是换页面了,,如果换页面了,,需要重新在新页面里调用css
Q3: 您好,thinkphp分页我也遇到你的问题,点击第二页就查不到任何数据了
引入分页类 ,然后实例化对象,然后里面不是有个show()方法吗,直接assign,limit注意要写正确....
Q4: thinkphp 以get 查询分页第二页无数据(本地好可以服务器就不行了)
你的是带参数条件分页,当你在第二页的时候 你的分页条件丢失了 所以重第二页开始都没有数据了。
所以在你分页的时候,要把你的查下条件跟上。可以这个修改试试:
$parameter = 'car_name='.urlencode($_GET['car_name']);
$page=new \Think\Page($count,7,$parameter);
thinkphp分页没显示的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、thinkphp分页没显示的信息别忘了在本站进行查找喔。






