ThinkPHP模板的知识(比较全的知识)解析 下载本文

内容发布更新时间 : 2024/12/23 14:23:24星期一 下面是文章的全部内容请认真阅读。

注意:如果是主键值重复,这种错误会导致error()方法不跳转页面直接抛出错误信息,这是新版本问题,如果想要跳转,找到

【数据修改操作】

save() 实现数据修改,返回受影响的记录条数

具体有两种方式实现数据修改,与添加类似(数组、AR方式) 1.数组方式

a) $goods = D(“Goods”);

b) $ar = array(‘goods_id’=>100,‘goods_name’=>’lenovo手机’,’goods_price’=>1200); c) $goods ->where(‘goods_id>50’)-> jiujiu360.comsave($ar); 2.AR方式

a) $goods = D(“Goods”); b) $goods -> goods_id = 53;

c) $goods -> goods_name = “三星手机”; d) $goods -> goods_price = 2000;

e) $goods ->where(‘goods_price>10000’)->save(); 以上两种方式如果可行,即要修改全部数据 以上sql语句从技术上可行,从业务上不可行(事故) tp框架有智能考虑,以上情况的sql语句不被允许执行。 如何执行:

① 明确告诉系统那条sql语句被update更新 ② 可以设置where进行sql语句更新操作

save() 方法返回值

0:之前没有问题,执行前后数据没有变化 自然数:受影响的记录条数 false:执行失败

数据修改具体实现:

通过路由给一个操作方法传递参数

http://网址/index.php/模块/控制器/方法upd/变量名1/值/变量名2/值/变量名3/值 以上路由是通过get形式给指定的操作传递了三个参数信息 $_POST方式也可以

原则三个参数信息接收的时候通过$_GET接收即可 例如:$_GET[‘变量名1’];

以上参数信息接收太直白,不安全,需要按照框架规则使用下边的方式接收get参数信息 http://网址/index.php/Admin/Goods/upd/name/tom/age/25/addr/beijing function upd($name,$age,$addr){ $name; $age; $addr; }

以上参数表述,如果在请求的时候没有按照规则传递参数,那么当前方法禁止访问。 (除非参数有默认值)

修改商品信息步骤: 1. 2. 3. 4.

在“修改”按钮处把被修改商品id信息通过get形式传递给upd操作

在upd方法里边制作形式参数$goods_id,接收服务器给传递的get变量goods_id 在修改表单里边制作隐藏域goods_id,避免tp框架禁止修改语句执行 在upd操作方法内部有两个逻辑:展现表单、收集表单

【数据删除及执行原生sql语句】 delete()返回受影响的记录条数

$goods -> delete(30); 删除主键值等于30的记录信息

$goods -> delete(“10,12,13”); 删除主键值等于10 12 13的三条记录 $goods -> where(“goods_id>60”)->delete() 把符合条件的记录都给删除