view视图目录下的staff目录下的index2.html模板文件
实例
{load href="/static/bootstrap/css/bootstrap.css"} <div class="container"> <div class="row"> <h2 class="text-center">公司人员工资管理信息表</h2> <div class="col-md-8 col-md-offset-2"> <table class="table table-bordered text-center table-hover"> <tr class="info"> <td>ID</td> <td>姓名</td> <td>性别</td> <td>年龄</td> <td>工资</td> </tr> <!-- {//一、foreach循环标签:类似于原生的foreach语句} {//1.基本用法: $staff是控制器或模板中的变量,$key与$value可自定义} {foreach $staff as $staffs} {//其实模板可以绕过控制器,直接获取数据} {//2.name值的获取过程可以用助手函数model进行简化,这也是推荐的方式} {//assign name="staffs" value=":model('staff')::all()" /} <tr> <td>{$staffs.staff_id}</td> <td>{$staffs.name}</td> <td>{$staffs.sex}</td> <td>{$staffs.age}</td> <td>{$staffs.salary}</td> </tr> {/foreach} --> {//二、volist循环标签:使用最广泛,参数众多,功能强大} {//1.基本用法:name="变量名,与控制器对应不可更改" id="循环变量,可自定义"} {volist name="staff" id="staffs"} {//2.扩展用法_1:获取指定范围内的数据:offset="起始位置" length="记录数量"} {//从索引3开始,获取5条,索引是从0开始计算,其实是从第4条开始输出5条} {//volist name="staff" id="staffs" offset="3" length="5"} {//3.扩展用法_2:获取偶数或奇数行的数据: mod="" 将索引进行模除后的结果} {//volist name="staff" id="staffs" mod="2"} {/*如果只显示偶数行的数据:模除运算:求余数 例如第4条记录,当前索引为3,除以2,余数为1,说明为偶数行。 那么想获取所有奇数行数据,value应该等于多少? 答案:value="0" */} {//eq name="mod" value="1"} <tr> <td>{$staffs.staff_id}</td> <td>{$staffs.name}</td> <td> {//$staffs.sex} {in name="staffs.sex" value="0,1"} {if $staffs.sex == 0} 男 {else /} 女 {/if} {/in} </td> <td>{$staffs.age}</td> <td>{$staffs.salary}</td> </tr> {///eq } {/volist} </table> {$page|raw} </div> </div> </div> {load href="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"} {load href="/static/bootstrap/js/bootstrap.js"}
运行实例 »
controller控制器下的模板文件:(controller\Staff.php)文件
<?php namespace app\index\controller; use think\Controller; use app\index\model\Staff as StaffModel; class Staff extends Controller { //循环标签 public function index1() { //通过模型获取表中的数据 $staff = StaffModel::all(function($query) { $query->field(['staff_id','name','sex','age','salary']); }); //测试:以上数据是否正常获取 // halt($staff); //给模板赋值 assign('变量名',$staff) $this->view->assign('staff',$staff); //渲染模板 return $this->view->fetch(); } //分页查询 public function index2() { //分页配置 $config = [ 'type' => 'bootstrap', 'var_page' => 'page' ]; //每页显示的数量 $num = 2; //是否显示简单分页,只显示:上一页和下一页 $simple = false; //用模型来获取所有的分页数据:think\paginate $paginate = StaffModel::paginate($num, $simple, $config); //渲染分页HTML代码,返回分页变量 $page = $paginate->render(); //将分页数据赋值给模板 $this->view->assign('staff',$paginate); //将分页变量赋值给模板 $this->view->assign('page',$page); //渲染模板 return $this->view->fetch(); } }
运行实例 »
model目录模型下的模板文件(app\index\model\Staff)
<?php namespace app\index\model; use think\Model; //Model没有Facade class Staff extends Model { protected $table = 'staff'; //表名 protected $pk = 'staff_id'; //主键ID }
运行实例 »
点击 "运行实例" 按钮查看在线实例