目录 要实现的功能 思路: 视图层 控制器里: 扩展函数里 要实现的功能 用表单里的提交过来的sort数据,批量修改表里的排序值 界面效果: 思路: 视图层表单提交数据主键=>sort值 控制器调用扩展类里的 public function cateSort($data, $obj) 方法 //处理栏目排序 $data数组,$obj是实例化的表的对象 cateSort验证数据并修改表里sort的值,如果提交的不是大于0的整数,就报错. 视图层 提交的数据排序数据是要 主键=>sort值 <…
目录 文章模块的分析 表结构 文章模块的分析 表结构 CREATE TABLE `tp_cate` ( `id` smallint(6) NOT NULL AUTO_INCREMENT COMMENT '栏目id', `cate_name` varchar(20) NOT NULL COMMENT '栏目名称', `cate_type` tinyint(1) NOT NULL DEFAULT '5' COMMENT '栏目类型 cate_type 1:系统分类 2:帮助分类 3:网店帮助 4:网…
目录 左侧菜单的填充 品牌的添加 form标签里要加上method="post" enctype="multipart/form-data" form标签里如果不加enctype="multipart/form-data" 通过$_FILES['brand_img']['tmp_name']判断是否有图片上传 左侧菜单的填充 品牌的添加 form标签里要加上method="post" enctype="multipa…
目录 思路: 控制器里 扩展类里: 视图层: 思路: 控制器查出所有数据后调用扩展类里的无限级分类 public function catetree($cateRes) 方法. 把排序好的数据传给视图层. 视图层用str_repeat()做好层级显示 控制器里 <?php namespace app\admin\controller; use catetree\Catetree; //引入扩展类 use think\Controller; class Cate extends Controlle…
没有修改数据时,判断修改成功与失败 如果提交时的数据库里之前的数据一样(即没有修改就提交表单),会返回0,此时 判断修改成功用$save !== false 这样才会提示修改成功. $save=db('brand')->update($data); if($save !== false){ $this->success('修改品牌成功!','lst'); }else{ $this->error('修改品牌失败!'); }…
目录 1. 手册地址: 2. 如果前面输出的变量在后面定义的函数的第一个参数,则可以直接使用 3. 还可以支持多个函数过滤,多个函数之间用"|"分割即可,例如: 4. 变量输出使用的函数可以支持内置的PHP函数或者用户自定义函数,甚至是静态方法. 1. 手册地址: https://www.kancloud.cn/manual/thinkphp5/125005 2. 如果前面输出的变量在后面定义的函数的第一个参数,则可以直接使用 {$data.name|substr=0,3} //或者…
第15课-数据库开发及ado.net 数据库介绍,主键,外键,启动数据库,数据库身份验证方式,建表,分离数据库 1.  学习方法 2.  多涨见识 3.  比自己强的人一起,学习更强:比自己更聪明的人在一起,学习变得更聪明. 数据库Database 数据的仓库 DB  仓库管理员DBA 数据库的特点:海量存储.查找速度快.并发性问题控制.安全性.数据完整性. DBMS(Database Management System 数据库管理系统)(*.mdf) MYSQL.MSSQLServer.DB2…
自定义drf-jwt手动签发和校验 签发token源码入口 前提:给一个局部禁用了所有 认证与权限 的视图类发送用户信息得到token,其实就是登录接口,不然进不了登录页面 获取提交的username和password 1)rest_framework_jwt.views.ObtainJSONWebToken 的 父类 JSONWebTokenAPIView 的 post 方法 接受有username.password的post请求校验数据,并且签发token 2)post方法将请求数据交给 r…
JS 模块化.组件化.工程化相关的 15 道面试题 1.什么是模块化? 2.简述模块化的发展历程? 3.AMD.CMD.CommonJS 与 ES6 模块化的区别? 4.它们是如何使用的? 5.export 是什么? 6.module.export.export 与 export defalut 有什么区别? 7.什么是组件化? 8.组件化的原则是什么? 9.全局组件与局部组件的区别? 10.如何注册一个全局组件,并使用它? 11.局部组件又是如何注册并使用的? 12.如何封装一个高复用的 Vu…
第15课 - make的隐式规则(上) 1. 问题 如果把同一个目标的命令拆分的写到不同地方,会发生什么? 执行make all 这个实验表明了:如果同一个目标的命令拆分的写到不同地方,那么 make 会覆盖之前的目标对应的命令,使用最新出现的目标对应的命令. makefile 中出现同名目标时 — 依赖: 所有的依赖将合并在一起,成为目标的最终依赖 — 命令: 当多处出现同一目标的命令时,make 发出警告 所有之前定义的命令被最后定义的命令取代 注意:当使用 include 关键字包含其它文…