商品的会员价格

商品的会员价格

 

需求:

  1. 会员级别管理【级别名称、积分下限、积分上限】 ,比如:有注册会员、中级会员、高级会员

实际操作:

1. 建表

 

 

drop table if exists p40_member_level;
create table p40_member_level
(
id mediumint unsigned not null auto_increment comment 'Id',
level_name varchar(30) not null comment '级别名称',
jifen_bottom mediumint unsigned not null comment '积分下限',
jifen_top mediumint unsigned not null comment '积分上限',
primary key (id)
)engine=InnoDB default charset=utf8 comment '会员级别';

 

 

drop table if exists p40_member_price;
create table p40_member_price
(
price decimal(10,2) not null comment '会员价格',
level_id mediumint unsigned not null comment '级别Id',
goods_id mediumint unsigned not null comment '商品Id',
key level_id(level_id),
key goods_id(goods_id)
)engine=InnoDB default charset=utf8 comment '会员价格';

导入 

 Gii生成代码

  1. 在添加商品时可以设置每个级别的价格:

3.1 在添加商品的表单中列出所有的会员级别

修改商品控制器

   

//取出所有的品牌
$brandModel=D('brand');
$brandData=$brandModel->select();

//取出所有的会员级别
$mlModel=D('member_level');
$mlData= $mlModel->select();
// 设置页面信息
$this->assign(array(
'mlData'=>$mlData,

'brandData'=> $brandData,
'_page_title' => '添加新商品',
'_page_btn_name' => '商品列表',
'_page_btn_link' => U('lst'),
));

在表单循环输出:

    

<tr>
<td class="label">会员价格:</td>
<td>
<?php foreach($mlData as $k=>$v): ?>
<?php echo $v['level_name'] ;?> ¥<input type="text" name="member_price[]" value="" size="8"/><br>
<?php endforeach; ?>
</td>
</tr>

  1. 提交表单时,把会员价格保存到 会员价格表

现在要考虑的就是写代码把这个数组的数据插入到 【注意:四个价格就插入四条记录】:

    

发现这个表还需要level_id,但表单中没有,所以修改一下表单:

 

<td class="label">会员价格:</td>
<td>
<?php foreach($mlData as $k=>$v): ?>
<?php echo $v['level_name'] ;?> ¥<input type="text" name="member_price[<?php echo $v['id'] ;?>]" value="" size="8"/><br>
<?php endforeach; ?>
</td>
</tr>

 

还需要一个商品ID,当这个商品插入到 数据库中之后就有商品ID了,所以代码应该写在插入之后:

修改商品模型 :

   

//商品添加之后会调用这个方法,其中$data['id']就是 新添加商品的ID
protected function _after_insert($data, $option)
{

$mp=I('post.member_price');
$mpModel=D('member_price');
foreach($mp as $k=>$v)
{
$_v=(float)$v;
if($_v > 0)
{
$mpModel->add(array(
'price'=>$_v,
'level_id'=>$k,
'goods_id'=>$data['id'],

));
}
}

}

 

世上无难事,只怕有心人......
原文地址:https://www.cnblogs.com/gooderic/p/5683046.html