다중조건 검색 관련
본문
아직 해결을 못하고 있어 한번더 올립니다..
지역 선택 > 인원 선택 > 명칭입력 하면 검색이 되어야 하는데요
<div>
<span class="title">장소검색</span>
<label for="sido" class="sound_only">장소검색</label>
<select name="sido" id="sido" class="st">
<option value="">시.도</option>
<option value="경기도">경기도</option>
</select>
<label for="" class="sound_only">장소검색</label>
<select name="gugun" id="gugun" class="st">
<option value="">구.군</option>
<option value="안성시">안성시</option>
</select>
</div>
<div>
<span class="title2">인원</span>
<label for="sido" class="sound_only">인원</label>
<input type="text" name="pe_start" value="" class="text_input" size="6" > ~ <input type="text" name="pe_end" value="" class="text_input" size="6" >
<span class="title2">명</span>
</div>
<div>
<span class="title">명칭</span>
<label for="stx" class="sound_only">명칭</label>
<input type="text" name="stx" value="<?php echo $stx; ?>" required class="text_input" size="45">
</div>
이렇게 검색이 된 후에
$where = " where ";
$sql_search = "";
$stx2 = $sido.' '.$gugun;
$stx3 = $pe_start.' '.$pe_end;
if ($stx != "") {
if ($sfl != "") {
$sql_search .= " $where $sfl like '%$stx%' and ca_addr1 like '%$stx2%' or ca_10 BETWEEN '%$pe_start%' AND '%$pe_end%'";
$where = " and ";
}
if ($save_stx != $stx)
$page = 1;
}
이렇게 검색출력이 되는데요
"지역"하고 "명칭" 값은 정상적으로 검색이 되는데 인원값이
100~ 200 사이로 검색을 해도 500 으로 등록된 자료가 출력이 되네요..
"지역" 하고 "명칭" 값만 제대로 찾고 있는 것 같습니다..
어디가 잘못된 걸까요.
아 그리고.. 인원 입력하는 "pe_start" 와 "pe_end" 가 검색될 때 변수가 제대로 주어졌는지.. 모르겠네요
!-->!-->답변 3
and와 or가 저렇게 나열되면 당연히 100~200 아닌 값도 나오죠
경기도 안성시 이거나 100~200 인 것을 찾게되니 경기도 안성시 중에 100~200 아닌 것이 잇으면 다나오죠
경기도 안성시 중에서 100~200 인 것을 찾는다면 모두 and
$sfl like '%$stx%' and ca_addr1 like '%$stx2%' and ca_10 BETWEEN '$pe_start' AND '$pe_end'
100~ 200 사이라는게 100번째와 200번째 사이중에 랜덤으로 하나 라는 뜻인가요?
아니면 100번째와 200번째 사이의 결과를 다 가져오는건가요?
ca_10 BETWEEN '$pe_start' AND '$pe_end'
이렇게 함 해보세요. 안되면 따옴표 빼고 해보시구요.
답변을 작성하시기 전에 로그인 해주세요.