牛骨文教育服务平台(让学习变的简单)
博文笔记

Thinkphp数据的修改及删除操作

创建时间:2016-11-17 投稿人: 浏览次数:387

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 2 3 4 5 6 7 8 9 10 11 12 13 14 function Update()     {         //方法一:shuzu         $model=D("info");         $attr=array(         "Code"=>"p014",         "Name"=>"修改数据",         "Sex"=>true,         "Nation"=>"n001",         "Birthday"=>"2000-1-1",         );         //调用save()方法来修改数据         $model->save($attr);        }

  

数据修改成功:

 

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();

1 2 3 4 5 //方法二:AR $model=D("info"); $model->Name="Update"; $model->Nation="n001"; $model->where("Code="p006"")->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操作方法内部有两个逻辑:展现表单、收集表单

3.自动收集表单修改(必须要会的)

MainController.class.php

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 //方法三:自动修改表单              $model=D("info");    if(empty
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。