g5_shop_event_item 테이블에 it_id 가 등록된 상품은 무조건 검색이 안되게 하려면

g5_shop_event_item 테이블에 it_id 가 등록된 상품은 무조건 검색이 안되게 하려면

QA

g5_shop_event_item 테이블에 it_id 가 등록된 상품은 무조건 검색이 안되게 하려면

본문

이미 g5_shop_event_item 테이블에 it_id 가 등록된 상품이라도 새 이벤트를 등록하면

g5_shop_event_item 테이블에 등록된 상품이 검색이됩니다.

g5_shop_event_item 테이블에 it_id 가 등록된 상품은 무조건

검색이 안되게 하려면 어떻게해야 될까요? 도움 부탁 드립니다.ㅠ

 

    $("#btn_search_item").click(function() {
        var ca_id = $("#sch_ca_id").val();
        var it_name = $.trim($("#sch_name").val());

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

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

    $(document).on("click", "#sch_item_list .add_item", 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").length;

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

        $li.remove();
    });

이 질문에 댓글 쓰기 :

답변 2

g5_shop_item에 해당되는

$g5['g5_shop_item_table']에서

where it_id=null or it_id = ''

하면 값은 아무것도 안나올수밖에 없습니다.

 

g5_shop_item 테이블에서

it_id는 키값이거든요

 

찾으시려는게

g5_shop_event_item 테이블에서 it_id 값이 없는것을 찾으시려는거라면

원하는 의도가 맞는지 검토해보세요

왜냐면

 

g5_shop_event_item 테이블에서도

ev_id 와 it_id 두개가 키로 정의 되어있거든요

두개밖에 없는 테이블이라 값이 없다면.. 없는것입니다.

 

질문의 의도를 잠시 다른방향으로 생각해봤을때

 

g5_shop_item에 있는 자료중

g5_shop_event_item 에 등록된 자료를 제외하려는것이라면

 

select * from g5_shop_item a

where not exists (select 'x' from g5_shop_event_item b where a.it_id = b.it_id)

로 하시면 event테이블에 등록된 자료는 제외됩니다.

 

플래토님 답변 감사드립니다. 제가 설명이 많이 부족했네요. g5_shop_item에 있는 자료 중
g5_shop_event_item 에 등록된 자료를 제외하려는 것이 맞습니다. 아주 잘 동작합니다.ㅜ

itemeventsearch.php 이라는 파일에서 검색을 하는듯 한데

 

쿼리 부분에서 where 조건문중에 it_id is null 이나 it_id='' 빈값인 경우만 조회가 되도록 처리해 주셔야 합니다.

$sql = " select it_id, it_name
          from {$g5['g5_shop_item_table']}
          where (1) ";
if($ca_id)
    $sql .= " and ( ca_id like '$ca_id%' or ca_id2 like '$ca_id%' or ca_id3 like '$ca_id%' ) ";

if($it_name)
    $sql .= " and it_name like '%$it_name%' ";

$sql .= " order by ca_id, it_name ";
$result = sql_query($sql);

플라이님 답변 감사드립니다.
위 부분에서 가져오는 것 같은데요. where(1) 부분을 어떻게해야 될까요?
g5_shop_event_item에 it_id가 있으면 제외를 해야 되는데 도움 부탁 드립니다.ㅠ

답변 감사드려요.

$sql = " select it_id, it_name
          from {$g5['g5_shop_item_table']}
          where it_id='' ";
if($ca_id)
    $sql .= " and ( ca_id like '$ca_id%' or ca_id2 like '$ca_id%' or ca_id3 like '$ca_id%' ) ";

if($it_name)
    $sql .= " and it_id='' and it_name like '%$it_name%' ";

$sql .= " order by ca_id, it_name ";
$result = sql_query($sql);

이렇게 적용하였는데, 상품 검색이 안되네요.ㅜㅜ 에구

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

회원로그인

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