controller 层:
public function index(){
//$page 是默认页数
$page = $_REQUEST['p'] ? $_REQUEST['p'] : 1;
//pagesize 是一页显示的条数
$pageSize = $_REQUEST['pageSize'] ? $_REQUEST['pageSize'] : 6;
//$data 是条件
$data["status"] = array('neq',-1);
//到数据库提取上述条件的数据
$menus =D("Menu")->getMenus($data,$page,$pageSize);
//get menuconunt 是为了符合thinkphp 的分页的必要条件
$menusCount = D("Menu")->getMenusCount();
//我们应引用thinkphp分页,先new一个系统自带page 方法, 传入必要的条件。
$res = new \Think\Page($menusCount,$pageSize);
//show为刚刚引用的thinkpage的方法
$pageRes = $res->show();
//得到了pageres 是通过show方法组装的分页数据
$this->assign('pageRes',$pageRes);
$this->assign('menu',$menus);
$this->display();
}
1,其中, neq 是表示不相等的意思, eq 相等
2.thinkphp自带分页必要参数 1.所查询的数据表的总的条数;2,每一页的条数。
3.$_REQUEST 为 系统自带的获取url 的方法。格式为 $_REQUEST[' ']
$page = $_REQUEST['p'] ? $_REQUEST['p'] : 1; // 有这个值的话为P,没有的话默认为1
4,引用thinkphp 内置的内页功能: new \Think\Page();
4,D 调用menu模型的方法:getmenus代码如下:
public function getMenus($data,$page,$pageSize=10){
$data["status"] = array('neq',-1);
$offset = ($page - 1) * $pageSize;
$list = $this->_db->where($data)->order('menu_id desc')->limit($offset,$pageSize)->select();
return $list;
}