使用foreach和volist标签分别实现模板数据的分页显示:
实例
//循环标签 public function demo1() { $staffs = StaffModel::all(function($query){ $query->field(['id','name','sex','age','phone_number']); // ->where('age','<',10); }); // halt($staffs);=====dump($staffs);exit(); // 模板赋值 $this->view->assign('staffs',$staffs); //渲染模板 return $this->view->fetch(); } //分页查询 public function demo2() { //分页配置 $config = [ 'type' => 'bootstrap', 'var_page' => 'page' //分页变量 ]; //分页显示数量 $num = 5; //是否简单分页,也就上一页 下一页 $simple = false; //用模型来获取所有的 分页数据,think\Paginate 返回的是一个对象 $paginate = StaffModel::paginate($num,$simple,$config);//就是得到了数据表里面的数据 //渲染分页HTML代码,返回分页变量 $page = $paginate->render(); //将分页数据赋值给模板 $this->view->assign('staffs',$paginate); //将分页变量赋值给模板 $this->view->assign('page',$page); //渲染模板 return $this->view->fetch(); }
运行实例 »
点击 "运行实例" 按钮查看在线实例
demo1,2:
实例
{load href="/static/bootstrap/css/bootstrap.min.css"} <div class="container"> <div class="row"> <h3 class="text-center">员工信息表</h3> <div class="col-md-8 col-md-offset-2"> <table class="table table-bordered table-hover text-center"> <tr class="info"> <td>ID</td> <td>姓名</td> <td>性别</td> <td>年龄</td> <td>号码</td> </tr> {//单行注释} {/* 这是多行注释 */} {//在当前模板中创建变量,来保护数据表中的数据} {//assign name="staffs" value=":\app\index\model\Staff::all()"} {//foreach标签:类似于原生foreach} {//foreach $staffs as $staff} <//tr> <//td>{//$staff.id}</td> <//td>{//$staff.name}</td> <//td>{//$staff.sex}</td> <//td>{//$staff.age}</td> <//td>{//$staff.phone_number}</td> <///tr> {///foreach} {//2.vplist标签:使用最广泛的,参数众多,功能强大} {//volist name="staffs" id="staff" offset="2" length="5"}{//staff是循环变量,自定义的和foreach里as后面的一样} {//volist name="staffs" id="staff" mod="2"} {//输出偶数行} {//eq name="mod" value="1"}{//以表格的下标来计算 1/2 余数1 所以下标为1的在表中的第二行} {//输出奇数行} {//eq name="mod" value="0"}{//0/2 余数0 所以下标为0的在表中的第一行 ,以此计算} {//olist name="staffs" id="staff" empty="数据表为空"} {empty name="staffs"} <h3 style="color: red">查询数据为空</h3> {else /} {volist name="staffs" id="staff"} <tr> <td>{$staff.id}</td> <td>{$staff.name}</td> <td>{$staff.sex}</td> <td>{$staff.age}</td> <td>{$staff.phone_number}</td> </tr> {///eq} {/volist} {/empty} </table> </div> </div> </div> {load href="/static/bootstrap/js/bootstrap.js"} {load href="/static/jquery/jquery.js"}
运行实例 »
点击 "运行实例" 按钮查看在线实例