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

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

QA

SIR 제작의뢰 - 견적무료/익명보정/호스팅, DB 이전/단기개발. 이젠 ' 의뢰인'이 원하는 '제작자'에게만 연락처를 알릴 수 있습니다.

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

eyekiss님의 답변

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

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

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

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

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

다케미카코님의 답변

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

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

 

주소복사
답변의 댓글

균이님의 답변

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

FIND_IN_SET 에 대하여 찾아보세요

 

주소복사
답변의 댓글

eyekiss님의 답변

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

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

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

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

주소복사
답변의 댓글
답변을 작성하시기 전에 로그인 해주세요.
전체 10,668
고마운 분의 도움으로 질문을 해결하셨다면, 채택을 눌러서 감사의 마음을 전하세요.
어떻게 질문해야 할지 모른다면 질문하는 방법을 읽어 보신후 질문해 보세요.
QA 내용 검색

회원로그인

진행중 포인트경매

  1. ISPCONFIG 3 PRO 자동설치 스크립트

    참여38 회 시작19.05.21 10:11 종료19.05.28 10:11

(주)에스아이알소프트 (06253) 서울특별시 강남구 도곡로1길 14, 6층 624호 (역삼동, 삼일프라자) 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT