一个表单中的数据添加到不同的数据表中

来源:互联网 发布:java里random() 编辑:程序博客网 时间:2024/05/18 23:16

今天做了一个关于添加商品的功能模块,需要实现的功能也算是比较简单的,但是在做到添加会员价格的时候遇到了一点满麻烦,麻烦原因就是商品的基本信息以及商品描述的数据添加同一张表中sp_goods  ,但是会员价格这个需要添加到另外一张表中sp_member_price 


那么如何实现将同一个表单中的数据添加到两张不同的数据表呢,先来看一下数据表:


sp_goods


sp_member_level


sp_member_price



一共有三张表,需要将会员价格的数据添加到会员表中,需要添加的数据有不同的会员等级所对应的不同商品的价格,

在这里会员价格那个页面的会员等级我是通过循环查询展示出来的

代码如下:

<!--会员价格-->
  <div class="tab-pane" id="profile12">
   <volist name="memlevels" id="vo">
     <div class="form-group">
<label for="level_name" class="col-sm-2 control-label no-padding-right">{$vo.level_name}</label>
<div class="col-sm-6">
<input class="form-control" id="level_name" placeholder="" name="level_name[{$vo.id}]" type="text">
</div>
                                  </div>
</volist>


在这里name值我使用的是数组,但是数组的键值我使用的是会员等级所对应的id值,

那么添加的会员价格的信息现在还差一个商品的id  ,但是再添加会员价格的同时也在添加商品的价格,如何能够获取到商品的价格呢?

在这里我是用了tp的后置操作  代码如下:

// insert(钩子函数)
   public function _after_insert(&$data,$options) {
  
  // 将会员价格添加到会员价格表中(sp_member_price)
  $memprice = D('memberPrice');
  $level_name = I('level_name');
       if($level_name) {
  foreach($level_name as $k=>$v) {
  if(trim($v) != '') {
  $memprice->add(
      array(
      'price' => $v,
  'level_id' => $k,
  'goods_id' => $data['id']
  )
  );
  }
  }
  }
   }


也就是先在商品添加之后再添加会员价格的数据,这样就可以获得商品的id值了,

然后在执行添加会员价格信息的操作



阅读全文
0 0
原创粉丝点击