sql 여러가지 조건(where) 작동이 안되네요 도와주세요

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
sql 여러가지 조건(where) 작동이 안되네요 도와주세요

QA

sql 여러가지 조건(where) 작동이 안되네요 도와주세요

본문

 테이블 명 : test2
 
tag 라는 컬럼에 제품마다 각 각 다른  여러가지 태그 값이 입력이 되어 있습니다.
예) tag: 신선한, 당일배송, 해외배송 

아래와 같이 4개의 태그의 검색해서 결과를 보여줘야 하는데요~
 아래 $where2  조건이 없으면 $where1  검색이 잘 되는데  $where1 조건이 
 있으면 결과값이 틀리게 나옵니다.
 
 $where2 변수 안에 조건값은  f_type 컬럼에서 과일 이면서 f_new 컬럼에서 신상품을 가지고 와야 합니다.
 그리고 f_name 귤이라는 제품은 무조건 가지고 와야 합니다.

 $where1 과 $where2  조건을 동시에 사용하려면 어떻게 해야 하는지 모르겠네요..

 


     if(!$tag){$tag="no=no";}
      $where1="(tag like '%신선한%' ) 
                   or (tag like '%현지직송%' ) 
                   or (tag like '%무공해%' )  
                   or (tag like '%국산%' ) ";}
   $where2= "and f_type ='과일' and f_new='신상품' or f_name ='귤' ";

   $qr2 = "select  *  from  test2 where $where1  $where2 order by no asc limit 5";
   $rt2 = mysqli_query($connect, $qr2);
   while($data = mysqli_fetch_array($rt2)){
         echo "결과 : ". $data['f_name']."  tag: ".$data['tag']."  f_new: [".$data['f_new']."]<br>";

 

결과 예)
- 귤      tag: 신선한, 과일             f_new: [신상품]
- 포도   tag: 신선한, 과일, 국산    f_new: [신상품]
- 감      tag:  당일배송, 무공해     f_new: [신상품]
- 사과   tag: 신선한, 과일, 국산    f_new: [신상품]
- 수박   tag:  당일, 현지직송        f_new: [신상품]

 

이런식으로 나와야 합니다...  ㅠㅠ

도와주세욤

이 질문에 댓글 쓰기 :

답변 4

if(!$tag){$tag="no=no";}
      $where1="(tag like '%신선한%' ) 
                   or (tag like '%현지직송%' ) 
                   or (tag like '%무공해%' )  
                   or (tag like '%국산%' ) ";}---> 이괄호는 뭔가요? 어디에서 열어서 막으신 건가요?

그리고 $sql2 를 echo 해서 보여주세요

아 '}' 이 괄호는 오타입니다....

    $where1="no=no";
      $where1="(tag like '%신선한%' )
                  or (tag like '%현지직송%' )
                  or (tag like '%무공해%' ) 
                  or (tag like '%국산%' ) ";
  $where2= "and f_type ='과일' and f_new='신상품' or f_name ='귤' ";

  echo "<결 과><br><br>";

  $qr2 = "select  *  from  test2 where $where1  $where2 order by no asc limit 5";
  $rt2 = mysqli_query($connect, $qr2);
  while($data = mysqli_fetch_array($rt2)){
        echo  $data['f_name']. " &nbsp;  tag: ".$data['tag']." &nbsp;  f_new: [".$data['f_new']."]<br>";
  }

결과가 아래처럼 나와요 ㅠㅠ 

쌀  tag: 가거도, 신선한, 특산품  f_new: [일반]
포도  tag: 신선한, 무공해, 당일  f_new: [신상품]
광어  tag: 제주도, 신선한  f_new: [일반]
귤  tag: 당도100%  f_new: [일반]
사과  tag: 신선한  f_new: [신상품]

과일류만 보여야 하며 신상품만 보여야 하는데요~ ㅜ
또 귤은 무조건 보여 하고........

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

회원로그인

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