Correction status:Uncorrected
Teacher's comments:
注意事项:
1. {foreach} 循环:类似原生 2. {volist} 循环:应用广泛,参数多,功能强大 offset 从某条开始(从0开始计数) length 显示数量 3. {volist name="staff" id="data" mod='2'} id除以mod余数为1(value)显示奇数行 {eq name='mod' value='1'} empty="数据为空" 数据为空 4. 性别判断 {in name="staff" value="1,2"} {if $staff.sex == 0} 男 {else /} 女 {/in} {//123} 单行注释 {/* 多行注释 123 */}
文件位置
<?php namespace app\index\controller; use think\Controller; use app\index\model\Staff; use think\facade\Request; class Dome7 extends Controller { //测试 function index() { return '你好'; } //循环标签 function demo1() { $staffs = Staff::all(function($query){ $query->field(['id','name','sex','age','money']); // ->where('id','>','255'); }); // dump($staffs); // halt($staffs); $this->view->assign('staff',$staffs); return $this->fetch(); } //分页查询1 function demo2() { // 分页配置 $config = [ 'type' => 'bootstrap', 'var_page' => 'page' ]; //分页显示数量 $sum = 4; //是否显示简单分页 $simple = false; //用模型获取分页数据 $paginate = Staff::paginate($sum,$simple,$config); //渲染分页HTML代码 $page = $paginate->render(); //分页数据->模板 $this->view->assign('staff',$paginate); //分页变量->模板 $this->view->assign('page',$page); // 渲染 return $this->view->fetch(); } }
点击 "运行实例" 按钮查看在线实例
<?php namespace app\index\model; use think\Model; use think\model\concern\SoftDelete; //导入软删除功能 class Staff extends Model { use SoftDelete; protected $table = 'aaa'; protected $pk = 'id'; //设置删除时间字段,配合软删除功能 protected $deleteTime = 'delete_time'; //设置软删除字段的默认值 protected $defaultSoftDelete = 0; // 模型获取器 // 获取器 1.sex protected function getSexAttr($value) { $sex = [0=>'男',1=>'女']; return $sex[$value]; } // 获取器 2.money // protected function getMoneyAttr($value,$data) // { // return $data['name'].'的工资是:'.$value; // } // 获取器 2.money protected function getMoneyAttr($value,$data) { return $value; } // 获取器 3.abc(自定义) protected function getAbcAttr($value,$data) { return $data['name'].'的年龄是:'.$data['age'].' ,工资是:'.$data['money']; } // 模型修改器 // 模型获取器 1.时间转换为时间戳 protected function setEntryTimeAttr($value) { return strtotime($value); } // 模型获取器 2.支持第二个参数 protected function setMoneyAttr($value,$data) { return $value + $data['age']; } //类型转换 protected $type=[ 'id' => 'interger', 'sex' => 'interger', 'money' => 'interger', 'age' => 'interger', ]; //自动完成 针对写操作.新增\更新 //相当于设置的默认值 protected $insert = [ 'sex' => 0, 'age' => 18, 'money' => 3600 ]; //更新 protected $update = ['sex' => 0]; //针对新增与更新 更新一些相同的东西 protected $auto = ['sex' => 0]; //开始当前时间戳 功能 // (也可以在config/database.PHP中开启) protected $autoWriteTimestamp = true; //设置更新的字段 protected $createTime = 'create_time'; protected $updateTime = 'update_time'; }
点击 "运行实例" 按钮查看在线实例
{load href="/static/bootstrap/css/bootstrap.css" } <div class="container"> <div class="row"> <h3 class="text-center">员工信息表</h3> <div class="col-md-2"></div> <div class="col-md-8"> <table class="table table-bordered text-center"> <tr class="bg-success"> <td>ID</td> <td>姓名</td> <td>性别</td> <td>年龄</td> <td>工资</td> </tr> <!-- {//模板中创建变量获取数据} {//ssign name="staff" value=":\app\index\model\Staff::all()"} {//助手函数获取数据} {//assign name="staff" value=":model('staff')::all()"} {//foreach $staff as $data} <tr> <td>{//$data.id}</td> <td>{//$data.name}</td> <td>{//$data.sex}</td> <td>{//$data.age}</td> <td>{//$data['money']}</td> </tr> {///foreach} --> {//volist name="staff" id="data" offset="2" length="2"} {empty name="staff"} <h2>没有数据</h2> {else /} {volist name="staff" id="data" mod='2'} {eq name='mod' value="1"} <tr> <td>{$data.id}</td> <td>{$data.name}</td> <td>{$data.sex}</td> <td>{$data.age}</td> <td>{$data['money']}</td> </tr> {/eq} {/volist} {/empty} </table> </div> <div class="col-md-2"></div> </div> </div> {load href="/static/bootstrap/js/jquery-3.2.1.js" } {load href="/static/bootstrap/js/bootstrap.js" }
点击 "运行实例" 按钮查看在线实例
{load href="/static/bootstrap/css/bootstrap.css" } <div class="container"> <div class="row"> <h3 class="text-center">员工信息表</h3> <div class="col-md-2"></div> <div class="col-md-8"> <table class="table table-bordered text-center"> <tr class="bg-success"> <td>ID</td> <td>姓名</td> <td>性别</td> <td>年龄</td> <td>工资</td> </tr> <!-- 第一种分页方式 --> {foreach $staff as $data} <tr> <td>{$data.id}</td> <td>{$data.name}</td> <td>{$data.sex}</td> <td>{$data.age}</td> <td>{$data['money']}</td> </tr> {/foreach} <!-- 第二种分页方式 --> {//volist name="staff" id="data" } <!-- <tr> <td>{$data.id}</td> <td>{$data.name}</td> <td>{$data.sex}</td> <td>{//$data.age}</td> <td> {///between name="data.age" value="0,25" } 很年轻么 {/between} {///between name="data.age" value="26,40" } 上年纪了 {////between} {///between name="data.age" value="41,100" } 很大年纪啦 {////between} </td> <td>{//$data['money']}</td> </tr> --> {///volist} </table> <div class="text-center">{$page|raw}</div> </div> <div class="col-md-2"></div> </div> </div> {load href="/static/bootstrap/js/jquery-3.2.1.js" } {load href="/static/bootstrap/js/bootstrap.js" }
点击 "运行实例" 按钮查看在线实例