thinkphp 商品添加款式 、規格、圖片上傳

商品添加規格款式、需求就是、前臺點擊圖片顯示商品數量 、價錢、規格名稱、圖片等、我先上一張展示圖





講一下我們會遇到哪些問題:後臺有數據直接展示,可以添加和修改,也可以刪除,還有上傳圖片、(假設上傳兩個款式)怎麼確定這張圖片屬於哪一個的,先上一下代碼:

   <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;
}

這樣就處理完了、有哪裏不明白可以給我留言,看到會及時回覆!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章