2016/05/13 Thinkphp 3.2.2 ①数据添加 ②收集表单数据入库操作 ③数据修改操作

①数据查询

add() 该方法返回被添加的新记录的主键id

两种方式实现数据添加

  1. 数组方式数据添加

$goods = D(“Goods”);

$arr = array(‘goods_name’=>’iphone5s’,’goods_weight’=>’109’);

//注意:goods_namegoods_weight是数据表中字段名称

$goods -> add($arr);

 

  2. AR方式实现数据添加

a) ActiveRecord  活跃记录

b) AR规定了程序与数据库之间的关系

c) 什么是AR

d) ① 一个数据表对应一个类model

e) ② 一条数据记录对应类的一个对象

f) ③ 每个字段对应该对象的具体属性

g) tp框架的AR是假的

$goods = D(“Goods”);

$goods -> goods_name = “htc_one”;

$goods -> goods_price = 3000;

$goods -> add();

以上两种方式:数组、AR,最后add都要把新记录的主键id值返回

 

②收集表单数据入库操作

  1. 制作一个表单
  2. 通过$_POST收集信息
  3. 通过create()方法实现数据收集,该方法对于非法的字段会自动进行过滤

注意:一个add控制器实现两个逻辑,一个是打出添加页面,一个是向数据库添加内容

注意:如果是主键值重复,这种错误会导致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’)-> save($ar);

  1. 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. 在“修改”按钮处把被修改商品id信息通过get形式传递给upd操作
  2. upd方法里边制作形式参数$goods_id,接收服务器给传递的get变量goods_id
  3. 在修改表单里边制作隐藏域goods_id,避免tp框架禁止修改语句执行
  4. upd操作方法内部有两个逻辑:展现表单、收集表单

 

posted on 2016-05-13 10:11  一棵树2016  阅读(304)  评论(0编辑  收藏  举报