PHP ThinkPHP 数据修改
GoodsController.class.php(Goods商品控制器):
<?php //后台商品控制器 namespace AdminController; use ThinkController; //Controller父类:ThinkPHP/Library/Think/Controller.class.php class GoodsController extends Controller{ //修改商品"update"是一个关键字,所以方法名不能是"update"。 function upd1(){ $goods = D("Goods"); //AR方式实现数据修改,也可以通过关联数组的方式修改。 //$goods -> goods_id = 156; $goods -> goods_name = "坚果手机"; $goods -> goods_price = 3500; $goods -> goods_weight = 115; //$z = $goods -> save(); //在ThinkPHP框架中,不允许一次性修改所有记录信息,必须要有where()子句或者修改的数据中有主键ID值。(否则返回false) //$z = $goods->where("goods_id=167") -> save(); //返回受影响的记录行数。假如修改的数据和数据表中的原始数据相同,则返回0. $z = $goods->where("goods_id>=145 and goods_id<=149") -> save(); //where() //mysql数据库本身允许一次性修改全部记录信息,但现实需求中(ThinkPHP框架) 不能一次性修改数据表的全部记录信息 dump($z); $this -> display(); } }GoodsController.class.php(Goods商品控制器):
<?php //后台商品控制器 namespace AdminController; use ThinkController; //Controller父类:ThinkPHP/Library/Think/Controller.class.php class GoodsController extends Controller{ //修改商品"update"是一个关键字,所以方法名不能是"update"。 //参数$goods_id 是通过pathinfo方式传递的get变量名称。 //http:网址/index.php/分组/控制器/操作方法/参数名1/值/参数名2/值 //www.localhost.com/shop/index.php/Admin/Goods/upd/goods_id/12 //以下upd 方法每次访问的时候必须传递goods_id参数信息 function upd($goods_id){ $goods = D("Goods"); //两个逻辑:展示、收集 if(!empty($_POST)){ $data = $goods -> create(); //create()方法用于收集表单数据、验证表单数据等。此方式一般需要实例化GoodsModel,不使用D("Goods")函数。 $z = $goods->save($data); //修改。接收的表单数据中有主键ID字段的值,可以不用where()子句。 if($z){ $this ->redirect("showlist", array(), 2, "修改商品成功!"); }else{ $this ->redirect("upd", array("goods_id"=>$goods_id), 2, "修改商品失败!"); } }else{ //根据$goods_id获得被修改商品的信息 $info = $goods->find($goods_id); //数据查询find()方法,通过一维数组返回一条记录信息 $this -> assign("info",$info); $this -> display(); } } }
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。