第一种:利用Page类和limit方法
-
//实例化User对象
-
$User=M('User');
-
//查询满足要求的总记录数
-
$count=$User->where('status=1')->count();
-
//实例化分页类,传入总记录数和每页显示的记录数(25)
-
$Page=new \Think\Page($count,25);
-
//分页显示输出
-
$show=$Page->show();
-
//进行分页数据查询,注意limit方法的参数要使用Page类的属性
-
$list=$User->where('status=1')->order('create_time')->limit($Page->firstRow.','.$Page->listRows)->select();
-
-
//赋值数据集
-
$this->assign('list',$list);
-
//赋值分页输出
-
$this->assign('page',$show);
-
//输出模板
-
$this->display();
第二种:分页类和page方法的实现
-
//实例化User对象
-
$User=M('User');
-
//进行分页数据查询,注意page方法的参数的前面部分是当前的页数使用$_GET[p]获取
-
$list=$User->where('status=1')->order('create_time')->page($_GET['p'].',25')->select();
-
//赋值数据集
-
$this->assign('list',$list);
-
//查询满足要求的总记录数
-
$count=$User->where('status=1')->count();
-
//实例化分页类,传入总记录数和每页显示的记录数
-
$Page=new \Think\Page($count,25);
-
//分页显示输出
-
$show=$Page->show();
-
//赋值分页输出
-
$this->assign('page',$show);
-
//输出模板
-
$this->display();
第三种:
$classify=M("demand_classify")->where("topplay=1")->select();
$classifyIDs=array();
foreach ($classify as $k => $v) {
$classifyIDs[]=$v['id'];
}
$map['l.demand_classify']=array("IN",$classifyIDs); //点播分类允许显示
$lists=M("users_liverecord l")
->field("u.user_nicename,u.avatar,u.id,a.title as course_name,a.content,l.*")
->join("left join {$prefix}users u on u.id=l.uid")
->join("left join {$prefix}apply_records a on l.applyid=a.id")
->where($map)
->where("l.isdisplay=1 and isdel=0 and l.type=0")
->order("l.hits desc,l.endtime desc")
->select();
foreach($lists as $k=>$v){
$lists[$k]['title1']=$lists[$k]['title'];
if(mb_strlen($v['course_name'],"utf-8")>11){
$lists[$k]['course_name']=mb_substr($v['course_name'],0,11,"utf-8")."…";
}
}
$vodio=M("users_liverecord")->where("type=1 and isdisplay=1")->select();
foreach($vodio as $ko=>$vo){
$userinfo=M("users")->field("user_nicename,avatar")->where("id='{$vo['uid']}'")->find();
$vodio[$ko]['user_nicename']=$userinfo['user_nicename'];
$vodio[$ko]['avatar']=$userinfo['avatar'];
$vodio[$ko]['course_name']=$vo['video_name'];
$vodio[$ko]['content']=$vo['video_conn'];
}
$hebing= array_merge($vodio, $lists);//将数组合并
$count=count($hebing); //获取数据总数
$pagesize=20; //分页显示数量
$Page= new \Page2($count,$pagesize); //实例化分页类
$show= $Page->show(); //分页显示输出
$hebing=array_slice($hebing,$Page->firstRow,$Page->listRows); //将数据按照分页数分割获取
$this->assign("live",$hebing);
$this->assign('page',$show);