thinkphp 3.2写分页ThinkPHP教程
用TP3.2写分页 手册上说的好难懂,我自己去网上找资料 ,现在整理一下,以后可能会用;
在Think下面有Page.class.php类;
我在这个/Application/Otcms/Common/下面放了一个function.php的(算是类吧又不是..)...
用TP3.2写分页 手册上说的好难懂,我自己去网上找资料 ,现在整理一下,以后可能会用;
在Think下面有Page.class.php类;
我在这个/Application/Otcms/Common/下面放了一个function.php的(算是类吧又不是..)文件;
目的:方便其他地方调用;
看源码:这是function.php里的代码:
<?php
/**
* TODO 基础分页的相同代码封装,使前台的代码更少
* @param $count 要分页的总记录数
* @param int $pagesize 每页查询条数
* @return \Think\Page
*/
function getpage($count, $pagesize = 10) {
$p = new Think\Page($count, $pagesize);
$p->setConfig('header', '<li class="rows">共<b>%TOTAL_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->lastSuffix = false;//最后一页不显示为总页数
return $p;
}
?>
在控制其中怎么用呢?:
public function fy() {
$m = M('article');
$where = "a_id>10";
$count = $m->where($where)->count();
$p = getpage($count,10);//每页显示几条
$list = $m->field(true)->where($where)->order('a_id')->limit($p->firstRow, $p->listRows)->select();
$this->assign('select', $list); // 赋值数据集
$this->assign('page', $p->show()); // 赋值分页输出
$this->display('Ws:public/fy');
}
再来看前端页面:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>信息输出</title>
</head>
<style>
.pages a,.pages span {
display:inline-block;
padding:2px 5px;
margin:0 1px;
border:1px solid #f0f0f0;
-webkit-border-radius:3px;
-moz-border-radius:3px;
border-radius:3px;
}
.pages a,.pages li {
display:inline-block;
list-style: none;
text-decoration:none; color: black;
}
.pages a.first,.pages a.prev,.pages a.next,.pages a.end{
margin:0;
}
.pages a:hover{
border-color:crimson;
}
.pages span.current{
background:#50A8E6;
color: black;
font-weight:700;
border-color:#50A8E6;
}
</style>
<body>
<table width="405" border="1" cellpadding="1" cellspacing="1" bgcolor="#99CC33" bordercolor="#FFFFFF">
<tr class="title">
<td bgcolor="#FFFFFF" width="44">编号</td>
<td bgcolor="#FFFFFF" width="120">标题</td>
<td bgcolor="#FFFFFF" width="223">描述</td>
</tr>
<foreach name='select' item='user' >
<tr class="content">
<td bgcolor="#FFFFFF"> {$user.a_id}</td>
<td bgcolor="#FFFFFF"> {$user.a_title}</td>
<td bgcolor="#FFFFFF"> {$user.a_remark}</td>
</tr>
</foreach>
<tr class="content">
<!--<td colspan="3" bgcolor="#FFFFFF"> {$page}</td>-->
<td colspan="3" bgcolor="#FFFFFF"><div class="pages">
{$page}
</div></td>
</tr>
</table>
</body>
在Think下面有Page.class.php类;
我在这个/Application/Otcms/Common/下面放了一个function.php的(算是类吧又不是..)文件;
目的:方便其他地方调用;
看源码:这是function.php里的代码:
<?php
/**
* TODO 基础分页的相同代码封装,使前台的代码更少
* @param $count 要分页的总记录数
* @param int $pagesize 每页查询条数
* @return \Think\Page
*/
function getpage($count, $pagesize = 10) {
$p = new Think\Page($count, $pagesize);
$p->setConfig('header', '<li class="rows">共<b>%TOTAL_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->lastSuffix = false;//最后一页不显示为总页数
return $p;
}
?>
在控制其中怎么用呢?:
public function fy() {
$m = M('article');
$where = "a_id>10";
$count = $m->where($where)->count();
$p = getpage($count,10);//每页显示几条
$list = $m->field(true)->where($where)->order('a_id')->limit($p->firstRow, $p->listRows)->select();
$this->assign('select', $list); // 赋值数据集
$this->assign('page', $p->show()); // 赋值分页输出
$this->display('Ws:public/fy');
}
再来看前端页面:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>信息输出</title>
</head>
<style>
.pages a,.pages span {
display:inline-block;
padding:2px 5px;
margin:0 1px;
border:1px solid #f0f0f0;
-webkit-border-radius:3px;
-moz-border-radius:3px;
border-radius:3px;
}
.pages a,.pages li {
display:inline-block;
list-style: none;
text-decoration:none; color: black;
}
.pages a.first,.pages a.prev,.pages a.next,.pages a.end{
margin:0;
}
.pages a:hover{
border-color:crimson;
}
.pages span.current{
background:#50A8E6;
color: black;
font-weight:700;
border-color:#50A8E6;
}
</style>
<body>
<table width="405" border="1" cellpadding="1" cellspacing="1" bgcolor="#99CC33" bordercolor="#FFFFFF">
<tr class="title">
<td bgcolor="#FFFFFF" width="44">编号</td>
<td bgcolor="#FFFFFF" width="120">标题</td>
<td bgcolor="#FFFFFF" width="223">描述</td>
</tr>
<foreach name='select' item='user' >
<tr class="content">
<td bgcolor="#FFFFFF"> {$user.a_id}</td>
<td bgcolor="#FFFFFF"> {$user.a_title}</td>
<td bgcolor="#FFFFFF"> {$user.a_remark}</td>
</tr>
</foreach>
<tr class="content">
<!--<td colspan="3" bgcolor="#FFFFFF"> {$page}</td>-->
<td colspan="3" bgcolor="#FFFFFF"><div class="pages">
{$page}
</div></td>
</tr>
</table>
</body>
最新评论
热门推荐
我要评论