懒人后台控制器
```php
protected function _initialize()
{
parent::_initialize(); // TODO: Change the autogenerated stub
$this->mod = Db::name("website");
$this->modname ="website";
$selectfe=[
"id"=>"代码id",
"name"=>"代码名称",
"sorting"=>"排序",
];
$wherefe=[
"id"=>"代码id",
"name"=>"代码名称",
"sorting"=>"排序",
];
$user = session("merchant");
$this->assign('user', $user);
$this->assign('wherefe', $wherefe);
$this->assign('selectfe', $selectfe);
$this->assign('add', "/admin/sucai.sucai/add.html");
$this->assign('edit', "/admin/sucai.sucai/edit");
$this->assign('del', "/admin/sucai.sucai/del.html");
}
//列表 admin/sucai.SucaiCat/index
public function index()
{
$where=[];
if ($this->request->isPost()) {
//array("name"=>[expr,val])
// dump( $this->request->param( ));die;
$where = wheres($this->request->param( ));
//array("name"=>[expr,val])
// var_dump($where);die;
}
$user = session("merchant");
//var_dump($user);die;
$total = $this->mod
->where($where)
->count();
$list = $this->mod
->where($where)
->paginate(10,true,[
'type' => 'bootstrap',
'var_page' => 'page',
]);
// 获取分页显示
$page = $list->render();
// var_dump( $list);die;
// 模板变量赋值
$this->assign('page', $page);;
$this->assign("rows", $list);
$this->assign("total", $total);
return $this->view->fetch();
}
```
where方法
```php
// 详细查询
//expr,val
function wheres($where){
$returnwhere=[];
if(isset($where)&&!empty($where)&&is_array($where)){
foreach($where as $key=>$val ){
if(!empty($val["val"])){
if(strtoupper(trim($val["expr"]))=="LIKE"){
//模糊查询
$returnwhere[$key]=[trim(trim($val["expr"])),"%".$val["val"]."%"];
}else if(strtoupper(trim($val["expr"]))=="BETWEEN"||strtoupper(trim($val["expr"]))=="NOT BETWEEN"){
//区间查询
$returnwhere[$key]=[trim($val["expr"]),$val["val"]];
}else if(strtoupper(trim($val["expr"]))=="IN"||strtoupper(trim($val["expr"]))=="NOT IN"){
//IN查询
$returnwhere[$key]=[trim($val["expr"]),$val["val"]];
}else if(strtoupper(trim($val["expr"]))=="NULL"||strtoupper(trim($val["expr"]))=="NOT NULL"){
//NULL查询
$returnwhere[$key]=$val["expr"];
}else if(strtoupper(trim($val["expr"]))=="EQ"||strtoupper(trim($val["expr"]))=="="){
//EQ查询
$returnwhere[$key]=[trim($val["expr"]),$val["val"]];
}else if(strtoupper(trim($val["expr"]))=="NEQ"||strtoupper(trim($val["expr"]))=="<>"){
//NEQ查询
$returnwhere[$key]=[trim($val["expr"]),$val["val"]];
}else if(strtoupper(trim($val["expr"]))=="GT"||strtoupper(trim($val["expr"]))==">"){
//GT查询
$returnwhere[$key]=[trim($val["expr"]),$val["val"]];
}else if(strtoupper(trim($val["expr"]))=="EGT"||strtoupper(trim($val["expr"]))==">="){
//EGT查询
$returnwhere[$key]=[trim($val["expr"]),$val["val"]];
}else if(strtoupper(trim($val["expr"]))=="LT"||strtoupper(trim($val["expr"]))=="<"){
//LT查询
$returnwhere[$key]=[trim($val["expr"]),$val["val"]];
}else if(strtoupper(trim($val["expr"]))=="ELT"||strtoupper(trim($val["expr"]))=="<="){
//ELT查询
$returnwhere[$key]=[trim($val["expr"]),$val["val"]];
}
}
}
}
//var_dump(trim($val["expr"]),strtoupper(trim($val["expr"])));die;
return $returnwhere;
}
```
懒人后台列表页面
```html
<form class="layui-form layui-col-md12 x-so" method="POST">
{foreach name="wherefe" item="vose" key="key"}
<div class="row">
<input type="text" name="{$key}[val]" placeholder="{$vose}" id="{$key}[val]">
<input type="hidden" name="{$key}[expr]" value="=" id="{$key}[expr]">
</div>
{/foreach}
<div class="rowz">
<input type="submit" value="Submit">
</div>
</form>
<table width="100%" border="0" cellspacing="1" cellpadding="4" bgcolor="#cccccc" class="tabtop13" align="center">
<thead>
<tr>
<th>
<div class="layui-unselect header layui-form-checkbox" lay-skin="primary"><i class="layui-icon"></i></div>
</th>
{foreach name="selectfe" item="vose" key="key"}
<th>{$vose}</th>
{/foreach}
<!-- <th>广告id</th>
<th>广告名称</th>
<th>链接地址</th>
<th>广告位置名称</th> -->
<th >操作</th>
</tr>
</thead>
<tbody>
{volist name="rows" id="vo"}
<tr>
<td>
<div class="layui-unselect layui-form-checkbox" lay-skin="primary" data-id='2'><i class="layui-icon"></i></div>
</td>
{foreach name="selectfe" item="vose" key="key"}
<td> {$vo[$key]}</td>
{/foreach}
<td class="td-manage">
<button class="button buttonbor2" style="padding:3px" onclick="x_edit_show('编辑','{$edit}/id/'+{$vo['id']})">修改</button>
<button class="button buttonbor3" style="padding:3px" onclick="x_del(this,'要删除的id')">删除</button>
</td>
</tr>
{/volist}
</tbody>
</table>
<div class="pagination3">
{$page}
<div>
```
- 课程介绍
- thinkphp5.0
- 安装
- 开发规范
- 目录结构
- 配置参数
- 系统常量
- tp5自带的函数
- 助手函数
- 扩展类库
- 基本类库
- Workerman
- think-queue
- 验证码
- 图片
- 权限认证
- 课前准备
- 数据库设计
- 模块设计
- 管理员管理
- 添加
- 编辑
- 删除和批量删除
- 列表页
- 实列
- 权限管理
- 操作日志
- 基于行为的日记录
- 行为日志的扩展
- 助手类库
- 自建函数
- 将数组转成uri字符串
- 获取当前服务器的IP
- curl-post
- 截取文字中间的字符串
- 检查中文姓名
- 省市区分别截取
- 抽奖概率问题
- 短信邮箱模板替换
- 生成csv
- PHP 图片转base64
- 银行卡验证
- json返回接口封装
- 无限极分类
- 病毒
- xml和数组互转
- xml转成数组
- 数组转xml
- tp控制器相关
- 获取thinkph5下控制器和方法名
- 后台查询的简单封装
- 网址信息
- 获取网站logo
- 判断url是否存在
- 获取title
- 判断远程文件是否存在
- 获取页面所有链接
- 过滤
- 截取
- 时间
- 获取服务器信息
- 根据id生成唯一邀请码
- 随机颜色
- 数组字符串互换
- 创建多级目录
- 懒人查询
- 时间和时间戳转换
- 房间id生菜
- 获取需要的数组元素
- 文件和文件夹
- 文件类库
- 文件夹
- 七牛云
- 七牛云运用场景
- 七牛云使用实例
- 邮箱
- 邮箱验证
- 邮箱发送
- 数据库
- 数据库在thinkphp中的补充方法
- 备份和安全
- sql执行
- 数据库备份2
- 时间日历
- 时间格式化
- 日历
- 图片相关
- 自动获取图片主题颜色
- 获取html中的图片路径
- 获取图片场景
- 获取图片实践
- 图片处理类
- 图片处理场景
- 图片处理实践
- 数据验证分析
- 身份证相关
- 新闻
- 自建类库
- 简易分类库
- php 压缩CSS代码
- 身份证
- 分词和抽词
- 分词应用场景
- 分词实践
- 中文转拼音
- 中文转拼音场景
- 中文转拼音实践
- 二维码操作
- 二维码场景
- 二维码实践
- 短地址
- PHPWord
- 插件化
- 插件扩展库
- 插件列表
- 插件安装和卸载
- 插件实践
- 插件的离线安装
- 计划任务
- 计划任务安装
- 计划任务实践
- 定时器
- 注册登录
- 普通登录注册
- 第三方登录注册
- jwt接口登录注册
- 短信
- 飞鸽短信
- 阿里短信
- 消息队列
- 网站地图
- 全站静态化
- 缓存
- 文件导出
- PDF生成
- phpword
- PHPExcel
- 其他类库
- 百度
- 百度语音
- 快递
- 跨域问题
- 宝塔
- 搜索记录