save方法修改数据有两种形式:数组的形式和AR模式
①数组
$info = array( 'goods_name'=>'华为手机', 'goods_price'=>234, 'goods_number'=>1654);$moduel ->where(....)->save($info);//$info中无主键信息$info2 =array( 'goods_id'=>55, 'goods_name'=>'华为手机', 'goods_price'=>234, 'goods_number'=>1654);$moduel ->save($info); //$info中有主键信息
②AR
$moduel ->goods_name='华为';$module ->goods_price=5698;$module ->goods_number=154;$module->where(....)->save();或者$module->save();
通过form表单来修改数据
通过Get方式向操作方法中传递参数:值。。。。。。
对于方法的参数格式应该是下面这样:
function upd(参数1,参数2,参数3){ //$_GET[‘参数1’]; //$_GET[‘参数2’]; 参数1,参数2,参数3具体使用}
url传递的参数名字必须和方法的参数名字相同
在项目中设计到修改数据库数据的时候可以使用关键字save
在商品列表中的"修改"超链接,并且将商品的id加入到超链接中.
修改
定义upd方法
function upd($goods_id){ $moduel = D("Goods"); if(!empty($_POST)){ //有表单数据提交 //接收表单数据 $moduel->create(); $moduel->save();//如果表单中已经有goods_id(主键)信息,则可以直接save保存即可 }else{ //根据goods_id获得相关信息; $result = $moduel->getByGoods_id($goods_id); $this->assign('res',$result); $this->display(); }}
//需要注意的是:form表单中的商品name值 应该设置成和数据库字段名对应上.
form表单中的商品ID可以通过隐藏域的形式传递到POST数组中
<input type="hidden" name="goods_id" value="{$res.goods_id}">
从而在方法内部可以使用 create收集数据,并且使用save方法将数据保存
$moduel->create(); $moduel->save();