item_list where 조건으로 특정 column 검색 > 영카트5 팁자료실

영카트5 팁자료실

item_list where 조건으로 특정 column 검색 정보

item_list where 조건으로 특정 column 검색

본문

item_list 클래스로 상품을 가져올 때 특정 컬럼 조건에 맞는 상품만 가져오려는 경우 아래와 같이 처리합니다.


/shop/list.php

$list = new item_list($skin_file, $ca['ca_list_mod'], $ca['ca_list_row'], $ca['ca_img_width'], $ca['ca_img_height']);
$list->where_column('it_region','강원'); #이런식으로 검색하려는 컬럼과 검색 키워드를 넣습니다.
$list->set_category($ca['ca_id'], 1);
$list->set_category($ca['ca_id'], 2);
$list->set_category($ca['ca_id'], 3);


/lib/shop.lib.php : class item_list

#아래와 같은 함수를 작성합니다.
#if조건에 DB에 생성한 column명으로 교체합니다. $this->{컬럼명} <<이부분도 교체합니다.
//g5_shop_item의 특정 column을 where 검색
function where_column($column, $value) {
if ($column == 'parent_it') {
$this->parent_it = $value;
} else if ($column == 'it_day') {
$this->it_day = $value;
} else if($column == 'it_region'){
$this->it_region = $value;
}
}
(* 위 함수는 function set_category 함수 위에 위치시켰습니다.)

#아래와 같은 코드를 추가합니다.(조건 검색 sql)
#아래 코드에서 컬럼명을 수정하시면 됩니다.
if ($this->parent_it || $this->it_day || $this->it_region) {
$where_added_column = array();
if ($this->parent_it) {
$where_added_column[] = " parent_it like '{$this->parent_it}' ";
}
if ($this->it_day) {
$where_added_column[] = " it_day like '{$this->it_day}' ";
}
if ($this->it_region) {
$where_added_column[] = " it_region like '{$this->it_region}' ";
}
$where[] = " ( " . implode(" or ", $where_added_column) . " ) ";
}
(* 위 코드는 'if ($this->ca_id || $this->ca_id2 || $this->ca_id3) {' 코드 위에 위치시켰습니다.)

추천
4

댓글 5개

전체 4

회원로그인

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