테스트 사이트 - 개발 중인 베타 버전입니다

item_list where 조건으로 특정 column 검색

· 4년 전 · 2812 · 5

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) {' 코드 위에 위치시켰습니다.)

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 5개

감사합니다~!
3년 전
오우
좋은정보 감사합니다.

게시글 목록

번호 제목
2169
2168
2167
2158
2146
2140
2130
2114
2102
2095
2084
2075
2072
2070
2069
2065
2058
2056
2055
2054
2049
2038
2036
1989
1956
1923
1918
1904
1892
1891