search.php 여분필드 검색 관련 $where

search.php 여분필드 검색 관련 $where

QA

search.php 여분필드 검색 관련 $where

본문

영카트 상품등록 폼에(skin > apms > form > item.php) 여분필드($it_1)를 만들고 여분필드를 쪼개서  it_1_1, it_1_2,... 이런식으로 값을 받았는데요. 

 

shop > search.php 에서 아래처럼 조건에 따라 다르게 검색결과를 받아오려하는데 위에 이야기한 것처럼 여분필드 값의 배열을 불러오는 방법이 궁금합니다.(배열이 없는 값은 아래의 a.it_0 처럼 불러왔습니다.)

 

 

$sql_common = " from {$g5['g5_shop_item_table']} a, {$g5['g5_shop_category_table']} b ";


$where = array();
if($qcoupon == '1')
{$where[] = " (a.ca_id = b.ca_id and a.it_use = 1 and a.pt_tag like '%$ca1%' and b.ca_use = 1 and b.as_menu_show <> '1' )";}
else if($qcoupon == '3')
{$where[] = " (a.ca_id = b.ca_id and a.it_use = 1 and a.it_0 between '3' and '4' and a.pt_tag like '%$ca1%' and b.ca_use = 1 and a.it_1['it_1_2'] between '3' and '5' and b.as_menu_show <> '1' )";}

//배열, 방법?

이 질문에 댓글 쓰기 :

답변 4

쉼표 구분자로 저장된다면..

between 으로 검색은 안되구요..

아래와 같이 해당 값이 있는지로 검색해야 합니다.

where concat(a.it_1,',') like "%검색어,%"

it_1 여분필드를 쪼갰다는 말이 구분자로 저장했다는 얘긴가요??

그럼 그 구분자를 넣어서 검색해야 합니다.

a.it_1['it_1_2'] 이런 표현은 사용 불가

필드 자체에 배열이 들어가는게 아닙니다.

제가 설명이 부족했습니다. 네, input 박스 등으로 폼을 받는 형식이지만 최종적으로 보았을 때에는 ',' 콤마로 구분되어 나열됩니다. $where에 콤마로 구분된 값들을 각각 따로 지정하여 넣는 방법이 있을까요?

빨간색 있는 부분을 $변수명 이렇게 적어두면 됩니다.

변수명이 있으면 sql 읽을때 표시 되서 작동이 되고 없으면 공백으로 처리 되서 그 부분은 작동이 안 됩니다.

 

it_1에 저장한 방식을 얘길해야 조언이 가능한데 정작 필요한 부분 설명이 빠졌습니다

FIND_IN_SET 에 대하여 찾아보세요

 

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

회원로그인

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