zoukankan      html  css  js  c++  java
  • 会员价格的修改

    1. 先在修改的表单中列出会员级别【和添加时一样直接复制】

      

    <tr>
    <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>

    //取出所有会员的级别
    $mlModel=D('member_level');
    $mlData=$mlModel->select();

    // 设置页面信息
    $this->assign(array(
    'mlData'=>$mlData,
    'brandData'=> $brandData,
    '_page_title' => '修改商品',
    '_page_btn_name' => '商品列表',
    '_page_btn_link' => U('lst'),
    ));

    //取出这件商品已经设置好的会员价格
    $mpModel=D('member_price');
    $mpData=$mpModel->where(array(
    'goods_id' =>array('eq',$id),
    ))->select();
    // 设置页面信息
    $this->assign(array(
    'mlData'=>$mlData,
    'mpData'=> $mpData,

    //取出所有会员的级别
    $mlModel=D('member_level');
    $mlData=$mlModel->select();

    //取出这件商品已经设置好的会员价格
    $mpModel=D('member_price');
    $mpData=$mpModel->where(array(
    'goods_id' =>array('eq',$id),
    ))->select();

    //把二维数组转一维: level_id=>price
    $_mpData=array();
    foreach($_mpData as $k => $v)
    {
    $_mpData[$v['level_id']]=$v['price'];
    }
    // 设置页面信息
    $this->assign(array(
    'mlData'=>$mlData,
    'mpData'=> $_mpData,
    'brandData'=> $brandData,
    '_page_title' => '修改商品',
    '_page_btn_name' => '商品列表',
    '_page_btn_link' => U('lst'),
    ));

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

    1. 提交表单之后把会员价格更新到会员价格表

    思路:先清除原来的会员价格,把新的价格重新添加一遍就行。【代码和添加时一样,只在先删除原数据】

    修改商品模型,把添加时的代码复制到修改的钩子方法:

    protected function _before_update(&$data, $option)
    {
    $id = $option['where']['id']; // 要修改的商品的ID

    /**********处理会员价格 *******/
    $mp=I('post.memebr_price');

    $mpModel=D('member_price');

    //先删除原来的会员价格
    $mpModel->where(array(
    'goods_id'=>array('eq',$id),
    ))->delete();

    foreach($mp as $k =>$v)
    {
    $_v=(float)$v;
    if($_v > 0)
    {
    $mpModel->add(array(
    'price'=>$_v,
    'level_id'=>$k,
    'goods_id'=>$id,

    ));
    }

    }

    世上无难事,只怕有心人......
  • 相关阅读:
    C# 动态创建SQL数据库(一)
    在Winform中菜单动态添加“最近使用文件”
    转(C# 类似右键菜单弹出窗体)
    为什么不能用Abort退出线程
    C# GDI绘制波形图
    转(C# 实现生产者消费者队列)
    为字段设置初始值
    闲话资源管理
    正确使用 new 修饰符
    减少装箱与拆箱
  • 原文地址:https://www.cnblogs.com/gooderic/p/5683141.html
Copyright © 2011-2022 走看看