쿼리문 질문좀요..
본문
쿼리문 조건이 여러개 일경우 if else 를 사용해서 작성하고 있는데요 이렇게 하다보니
너무 지저분하고 복잡해보이는데요.... 뭔가 잘못하고있는거 같기도 하고요
혹시 아래 쿼리가 맞는건지.. 아니면 다른 방법이 있는지 조언좀 해주실수 있나요...
// 1단계 조건이 일치하는값 구하기
$sql = "select * from 테이블 where a= '1' ";
~~~
if($row['idx']){
//1단계 조건 값이 있다.
}else{
//1단계 실패후 2단계로 조건 새롭게 해서 작성..
$sql = "select * from 테이블 where a= '1' and b='1' ";
~~~
if($row['idx']){
//2단계 조건 값이 있다.
}else{
//2단계 실패후 3단계로 조건 새롭게 해서 작성..
$sql = "select * from 테이블 where a= '1' and b='1' and c='1' ";
..... 반복;;;
}
}
암만봐도 비효율 적인데... 고수님 조언 부탁드립니다~~ 꾸벅 (_ _
!-->답변 2
컬럼 idx값이 보통의 index값 처럼 autoincrease되는 값이라면
이렇게 할 필요가 없었겠죠.
그렇지 않은 값이라면 논리적으로는 맞습니다.
단, 너무 if 문 내로 깊이 들어가는 것은 바람직해 보이지 않습니다.
이것은 db의 table설계에 문제가 있지 않을까 봅니다.
// 1단계 조건이 일치하는값 구하기
$sql = "select * from 테이블 where a= '1' ";
~~~
if($row['idx']){
//1단계 조건 값이 있다.
}else{
//1단계 실패후 2단계로 조건 새롭게 해서 작성..
a='1' 조건으로 없는데
a= '1' and b='1' 이 조건으로 결과가 나올 수가 없죠.
$sql = "select * from 테이블 where a= '1' and b='1' ";
답변을 작성하시기 전에 로그인 해주세요.