thinkphp 商品添加款式 、规格、图片上传

来源:互联网 发布:黄金走势软件下载 编辑:程序博客网 时间:2024/04/27 23:02

商品添加规格款式、需求就是、前台点击图片显示商品数量 、价钱、规格名称、图片等、我先上一张展示图





讲一下我们会遇到哪些问题:后台有数据直接展示,可以添加和修改,也可以删除,还有上传图片、(假设上传两个款式)怎么确定这张图片属于哪一个的,先上一下代码:

   <form method="post" id="foms">
<div id="father" class="father">
<div >
<!--<li class="jiage_biaoge_cont">-->
<!--<img src="__PUBLIC__/business/images/1.jpg"/>-->
<!--<input type="text" name="" value="西柚味500g两支装" />-->
<!--<input type="text" name="" value="18" />-->
<!--<input type="text" name="" value="5200" />-->
<!--<input type='button' class='btnDel' value='X' onclick = "$(this).parent().remove();"/>-->
<!--</li>-->



</div>
                      <input type="hidden" class="pis" alt="add_pid" name="pid" value="">
</div>
    </form>


每个商品都有款式、

上面说到商品id,那么拿着我们的商品id,来请求后台。如果有数据那么就先展示出来

  function color(ID){     //ID 是商品id,大家根据自己 的情况获取
                //查看该商品有什么颜色
                $.get("{:U('brand_color_json')}?ID="+ID ,function(dataObj){
                    $(".father div").html(null);
                    if(dataObj !=null){
                        $.each($(dataObj), function(i,obj){
                            var i= i+3;  
                            var str='';
                            str+='<li class="jiage_biaoge_cont">';
                            str+='<img class="img'+i+'" src="'+ obj.E_Img1 +'"/>';
                            str+='<input type="file" onclick="uploadImg('+i+')" name="" id="photo'+i+'"/>';
                            str+='<input type="text" name="E_Color[E_Name][]" value="'+ obj.E_Name +'" />';
                            str+='<input type="text" name="E_Color[E_SellPrice][]" value="'+ obj.E_SellPrice +'" />';
                            str+='<input type="text" name="E_Color[E_Stock][]" value="'+ obj.E_Stock +'" />';
                            str+='<input type="button" class="btnDel" value="X" onclick = "$(this).parent().remove();"/>';
                            str+='<input type="hidden" name="E_Color[ID][]" value="'+ obj.ID +'" />';
                            str+='<input type="hidden" name="E_Color[E_Img1][]" value="'+ obj.E_Img1 +'" id="E_Img'+i+'"/>';
                            str+='</li>';
                            $(".father div").append(str); //我们追加到 上面的div中、
                            var i = i+1;     
                            $("#add_Color").attr('val',i);    //这里是定位图片,假设有三个图片、那就定位到3、然后下面添加的时候直接从4开始
                        });
                    }
                }, "json");
            }

//现在开始说添加规格

 //价格和款式
            function add(){
                var vId = parseInt($("#add_Color").attr('val'));
                $(".father div").append('<li class="jiage_biaoge_cont">'
                        +'<img class="img'+vId+'" src="__PUBLIC__/business/images/register_file_bg.png"/>'
                        +'<input type="file" onclick="uploadImg('+vId+')" name="" id="photo'+vId+'" />'
                        +'<input type="text" name="E_Color[E_Name][]" value="" />'
                        +'<input type="text" name="E_Color[E_SellPrice][]" value="" />'
                        +'<input type="text" name="E_Color[E_Stock][]" value="" />'
                        +'<input type="button" class="btnDel" value="X" onclick = "$(this).parent().remove();"/>'
                        +'<input type="hidden" name="E_Color[ID][]" value="0" />'
                        +'<input name="E_Color[E_Img1][]" type="hidden" id="E_Img'+vId+'" value="" />'
                        +'</li>'
                );
                var val = vId+1;
                $("#add_Color").attr('val',val);
            }
          

//点击添加的时候会自动追到后面  可以看下name的属性 、当你点击form表单 

上传图片,上一篇有介绍  发下链接 http://blog.csdn.net/hua950327/article/details/77749569

//图片上传之后、前端问题处理完毕。开始提交到后台

后台接收

$info = $_POST;echo '<pre>';print_r($info);exit;

打印:

对上面的数据处理:


贴代码:

//添加规格public function addSpec(){    $info = $_POST;    echo '<pre>';  //  print_r($_POST);   // $arr = M('member')->field('ID,E_Name')->limit(2)->select();    $E_Color = $info['E_Color'];    $this->AddBrandColor($info['pid'],$E_Color);    $this->jsonReturn(1, "编辑成功", '');}public function addBrandColor($E_ProID,$E_Color){    $E_ProID = intval($E_ProID);    if(!$E_ProID) return false;    if(!empty($E_Color)){        $count = count($E_Color['E_Name']);        foreach($E_Color as $k=>$v){            for($i=0;$i<$count;$i++){                $listName[$i][$k] =  $v[$i];            }        }    }    print_r($listName);exit; //处理好的数据    if(!empty($listName)){        $p_color = M('product_color');        foreach($listName as $sKy=>$sKv){             $ID = intval($sKv['ID']);            $eName = trim($sKv['E_Name']);            if($ID){        //规格id ,如果有那么就修改、没有就添加                if(!empty($eName)){  //想删除的话、我是以判断名字是否为空、                    $sKv['E_UpdateDate'] = time();                    $p_color->where(array('ID'=>$ID))->save($sKv);                }else{                    $p_color->where(array('ID'=>$ID))->delete();                }            }else{                if(!empty($eName)){                    $sKv['E_ProID'] = $E_ProID;                    $sKv['E_State'] = 1;                    $sKv['E_CreateDate'] = time();                    $sKv['E_UpdateDate'] = time();                    $p_color->add($sKv);                }            }        }    }    return true;}
这样就处理完了、有哪里不明白可以给我留言,看到会及时回复!