商品规格表(添加)

 规格属性的添加(例如:颜色、尺寸、型号。。。。。)

 点击SKU属性值后出现

属性值添加的是:    红色,黄色         /       14寸,15寸 

就是下面的代码(添加的表单)

<form enctype="multipart/form-data" action="{:url('goods/attr')}" method="post" name="theForm">
            <!-- 通用信息 -->
            <table width="90%" id="general-table" align="center" style="display: table;">
                <tbody>
                <tr>
                    <td>属性名称:</td>
                    <td>属性值:</td>
                </tr>
                {volist name="arr" id="v"}
                <tr>
                    <td>{$v.attr_name}</td>
                    <td>                              <!--值为二维数组-->
                        <input type="text" name="value_name[{$v.attr_id}]" maxlength="20" value="" size="27">
                    </td>
                </tr>{/volist}
                </tbody></table>
            <div class="button-div">
                <input type="submit" value=" 确定 " class="button">
                <input type="reset" value=" 重置 " class="button">
            </div>
            <input type="hidden" value="{$data.id}" name="goods_id">
        </form>

 

实例化表a是商品表(上图)

attr的数据表(上图)

 

规格属性的添加(控制器)

 //属性值的页面
    public function attr()
    {
        if(Request::instance()->isGet()) {

            //商品id
            $id=input('get.id');
            if(!$id){
                $this->error('商品ID不能为空');
            }
            //此商品的详细信息
            $goods=a::get($id);
            if(!$goods){
                $this->error('商品的信息不能为空');
            }
            //在详细的商品信息中找到 商品的分类id
            $cat_id=$goods['cat_id'];
            //通过商品的分类id  查询规格表(就是该商品拥有的属性)
            $attr=Attr::where('cat_id',$cat_id)->select();
            return view('attr',['arr'=>$attr,'data'=>$goods]);
        }else{
            //接收所有的值
            $arr=input('post.');
            //接收商品id
            $goods_id=input('post.goods_id');

            $result=[];
            //循环属性值
            foreach($arr['value_name'] as $k => $v){
                //知添加一个数据时  (有为空的情况)
                if(empty($v))continue;
                //接收的字符串 分割成数组
                $var=explode(',',$v);
                foreach($var as $vv){
                    $data=[];
                    $data['goods_id']=$goods_id;
                    $data['attr_id']=$k;
                    $data['value_name']=$vv;
                    $result[]=$data;
                }
            }
           // print_r($result);die;
            $user= new Value();
            $res=$user->saveAll($result);
            if($res){
                $this->success('商品属性添加成功','goods_list');
            }else{
                $this->error('商品属性添加失败');
            }
        }
    }

 接收到所有数据:打印出的结果   $arr的数据

 

$var打印出的数据

 

 属性值循环:处理之后的结果

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值