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테이블에 등록된 자료는 제외됩니다.
itemeventsearch.php 이라는 파일에서 검색을 하는듯 한데
쿼리 부분에서 where 조건문중에 it_id is null 이나 it_id='' 빈값인 경우만 조회가 되도록 처리해 주셔야 합니다.