게시판에 영카트 상품 등록하는 부분 문제 좀 봐주세요 ?

게시판에 영카트 상품 등록하는 부분 문제 좀 봐주세요 ?

QA

게시판에 영카트 상품 등록하는 부분 문제 좀 봐주세요 ?

본문

영카트에 이벤트 관리에서 상품 검색해서 선택 등록하는 방식을 차용하였습니다.

 

0bd36e391b59292b795b9c444b35935c_1417065689_8101.PNG

 

위 그림처럼 선택하면 되는데요

상품을 아래 그림처럼 선택하면

 

0bd36e391b59292b795b9c444b35935c_1417065743_6273.PNG

 

오른쪽에 선택된 값 3개만 등록되어야 하는데 이상하게 왼쪽 카테고리 전부가 등록되어 집니다.

write_update.skin.php 파일내에 print_r 해서 보면

Array ( [uid] => 2014112714081649 [w] => [bo_table] => smovie [wr_id] => 0 [sca] => [sfl] => [stx] => [spt] => [sst] => [sod] => [page] => [html] => html1 [wr_subject] => 123 [wr_1] => 12312 [wr_2] => 123 [wr_10] => 123 [wr_content] => 123 [ca_id] => 10 [sch_name] => [it_id] => Array ( [0] => 1416408018 [1] => 1416202071 [2] => 1416408023 [3] => 1416408011 [4] => 1416408015 ) [wr_link1] => [wr_link2] => )

 

저렇게 모조리 나오는거죠... 해당 코드 내용이 길지만 부분만 올려 보겠습니다.

============================================= write.skin.php ==========================================

  <tr>
  </script>
   <td class="compare_wrap srel">
    <div class="help11 blue">해당 게시물에 나열할 상품을 선택하세요</div>
    <?php
     // 분류리스트
     $category_select = '';
     $sql = " select * from {$g5['g5_shop_category_table']} ";
     if ($is_admin != 'super')
      $sql .= " where ca_mb_id = '{$member['mb_id']}' ";
     $sql .= " order by ca_order, ca_id ";
     $result = sql_query($sql);
     for ($i=0; $row=sql_fetch_array($result); $i++)
     {
      $len = strlen($row['ca_id']) / 2 - 1;

      $nbsp = "";
      for ($i=0; $i<$len; $i++)
       $nbsp .= "   ";

      $category_select .= "<option value=\"{$row['ca_id']}\">$nbsp{$row['ca_name']}</option>\n";
     }
    ?>
    <section class="compare_left">
     <h3>상품검색</h3>
     <span class="srel_pad">
      <select name="ca_id" id="sch_ca_id">
       <option value="">분류선택</option>
       <?php echo $category_select; ?>
      </select>
      <label for="sch_name" class="sound_only">상품명</label>
      <input type="text" name="sch_name" id="sch_name" class="frm_input" size="15">
      <button type="button" id="btn_search_item" class="btn_frmline">검색</button>
     </span>
     <div id="sch_item_list" class="srel_list">
      <p>상품의 분류를 선택하시거나 상품명을 입력하신 후 검색하여 주십시오.</p>
     </div>
    </section>

    <section class="compare_right">
     <h3>등록된 상품</h3>
     <span class="srel_pad"></span>
     <div id="reg_item_list" class="srel_sel">
      <ul>
      <?php
      if($w=='u') {
       $it_qty = '';
       $it_item = explode("|", $write['wr_3']);
       for($s=0; $s<count($it_item); $s++) {
        $row = sql_fetch("select * from {$g5['g5_shop_item_table']} where it_id = '".$it_item[$s]."' order by it_id asc ");
        if($row['it_id']) {
         $it_name = get_it_image($row['it_id'], 50, 50).' '.$row['it_name'];

         if(count($row['it_id'])==0) { echo '<ul>'; }
        ?>
         <li>
          <input type="text" name="it_id[]" value="<?php echo $row['it_id']; ?>">
          <div class="list_item"><?php echo $it_name; ?></div>
          <div class="list_item_btn"><button type="button" class="del_item btn_frmline">삭제</button></div>
         </li>
        <?php
        }
       }
      // 글쓰기 신규 등록시
      } else {
       for($i=0; $row=sql_fetch_array($res_item); $i++) {
        $it_name = get_it_image($row['it_id'], 50, 50).' '.$row['it_name'];

        if($i==0) { echo '<ul>'; }
       ?>
        <li>
         <input type="text" name="it_id[]" value="<?php echo $row['it_id']; ?>">
         <div class="list_item"><?php echo $it_name; ?></div>
         <div class="list_item_btn"><button type="button" class="del_item btn_frmline">삭제</button></div>
        </li>
       <?php
       }
       if($i > 0) {
        echo '</ul>';
       } else {
        echo '<p>등록된 상품이 없습니다.</p>';
       }
      }
     ?>
     </div>
    </section>
   </td>
  </tr>
  <script>
  $(function() {
   $("#btn_search_item").click(function() {
    var ca_id = $("#sch_ca_id").val();
    var it_name = $.trim($("#sch_name").val());
    var it_id = $.trim($("#sch_id").val());

    if(ca_id == "" && it_name == "" && it_id == "") {
     $("#sch_item_list").html("<p>상품의 분류를 선택하시거나 상품명, 상품번호를 입력하신 후 검색하여 주십시오.</p>");
     return false;
    }

    $("#sch_item_list").load(
     "/adm/shop_admin/itemeventsearch.php",
     { w: "<?php echo $w; ?>", ev_id: "<?php echo $ev_id; ?>", ca_id: ca_id, it_name: it_name, it_id: it_id }
    );
   });

   $("#sch_item_list .add_item").live("click", function() {
    // 이미 등록된 상품인지 체크
    var $li = $(this).closest("li");
    var it_id = $li.find("input:hidden").val();
    var it_id2;
    var dup = false;
    $("#reg_item_list input[name='it_id[]']").each(function() {
     it_id2 = $(this).val();
     if(it_id == it_id2) {
      dup = true;
      return false;
     }
    });

    if(dup) {
     alert("이미 등록된 상품입니다.");
     return false;
    }

    var cont = "<li>"+$li.html().replace("add_item", "del_item").replace("추가", "삭제")+"</li>";
    var count = $("#reg_item_list li").size();

    if(count > 0) {
     $("#reg_item_list li:last").after(cont);
    } else {
     $("#reg_item_list").html("<ul>"+cont+"</ul>");
    }

    $li.remove();
   });

   $("#reg_item_list .del_item").live("click", function() {
    if(!confirm("상품을 삭제하시겠습니까?"))
     return false;

    $(this).closest("li").remove();

    var count = $("#reg_item_list li").size();
    if(count < 1)
     $("#reg_item_list").html("<p>등록된 상품이 없습니다.</p>");
   });
  });
  function feventform_check(f)
  {
   var item = new Array();
   var ev_item = it_id = "";

   $("#reg_item_list input[name='it_id[]']").each(function() {
    it_id = $(this).val();
    if(it_id == "")
     return true;

    item.push(it_id);
   });

   if(item.length > 0)
    ev_item = item.join();

   $("input[name=ev_item]").val(ev_item);

   <?php echo get_editor_js('ev_head_html'); ?>
   <?php echo get_editor_js('ev_tail_html'); ?>

   return true;
  }

  /* document.feventform.ev_subject.focus(); 포커스해제*/
  </script>​

 

======================================== write_update.skin.php ======================================

<?php
?>

print_r($_POST);

for($i=0;$i<count($_POST['it_id']);$i++) {
 //$wr_3 .= $_POST['it_id'][$i]."|";
 $wr_3 = implode('|', $_POST['it_id']);
}
exit;
sql_query("update $write_table set wr_3 = '$wr_3' where wr_id = '$wr_id'");
?>​

 

 

혹시 원인이 뭔지 아시는 분은 답변해 주시면 감사하겠습니다. ^^

제가 현재 회사 쇼핑몰을 영카트 5로 작업 중인데 개발한 소스들을 공개하는 걸로 보답하겠습니다.

 


 

이 질문에 댓글 쓰기 :

답변 1

답변을 작성하시기 전에 로그인 해주세요.
전체 125,888 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT