修改数据

    

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方式向操作方法中传递参数:http://网址/index.php/控制器/操作/参数1//参数2//参数3/值。。。。。。

    对于方法的参数格式应该是下面这样:

function upd(参数1,参数2,参数3){
       //$_GET[‘参数1’];
       //$_GET[‘参数2’];
       参数1,参数2,参数3具体使用
}

  url传递的参数名字必须和方法的参数名字相同

    在项目中设计到修改数据库数据的时候可以使用关键字save

    在商品列表中的"修改"超链接,并且将商品的id加入到超链接中.

 <a href="{$smarty.const.__GROUP__}/Goods/upd/goods_id/{$v['goods_id']}">修改</a>

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


你可能感兴趣的:(修改数据)