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

item_list where 조건으로 특정 column 검색

· 4년 전 · 2814 · 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년 전
오우
좋은정보 감사합니다.

게시글 목록

번호 제목
2503
2501
2497
2495
2491
2490
2489
2486
2484
2483
2481
2476
2475
2474
2472
2469
2467
2466
2465
2464
2463
2460
2459
2456
2449
2446
2441
2420
2419
2417