검색대상에서 아래와 같이 했습니다.
본문
wr_9 나누었습니다.
그래서 아래와 같이 했습니다.
<?php
$sido = explode("|", $view['wr_9'])[0];
$gugun = explode("|", $view['wr_9'])[1];
echo $sido;
echo "<br>";
echo $gugun;
?>
그리고
검색대상에서 아래와 같이 했습니다. 검색이 안됩니다.
<input type="hidden" name='sfl' id='sfl' value="<?php echo $sido ?>">
<input type="hidden" name='sfl' id='sfl' value="<?php echo $gugun; ?>">
그래서
검색대상에서 아래와 같이 했습니다. 검색이 됩니다.
<input type="hidden" name='sfl' id='sfl' value="wr_9">
그런데 시 / 구군이 전부 검색이 됩니다.
즉, 구군에서 어느 것을 선택을 해도 시 검색이 전부 됩니다.
> 시 선택, 구군 선택 했을 때, 검색을 원하는 것만 검색하려고 하면
<input type="hidden" name='sfl' id='sfl' value="wr_9[0]">
<input type="hidden" name='sfl' id='sfl' value="wr_9[1]">
또는
<input type="hidden" name='sfl' id='sfl' value="<?php echo $view['wr_9'])[0] ?>">
<input type="hidden" name='sfl' id='sfl' value="<?php echo $view['wr_9'])[1] ?>">
이런식으로 하면 되나요?
작동을 안합니다.
<< 소스 전체 >>
<?php
$sido = explode("|", $view['wr_9'])[0];
$gugun = explode("|", $view['wr_9'])[1];
echo $sido;
echo "<br>";
echo $gugun;
?>
<!-- 검색창 시작 { -->
<div id="bo_search" class="collapse<?php echo ($boset['search_open'] || $stx) ? ' show' : ''; ?>">
<div class="alert bg-light border p-2 p-sm-3 mb-3 mx-3 mx-sm-0">
<form id="fsearch" name="fsearch" method="get" class="m-auto" style="max-width:600px;">
<input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
<input type="hidden" name="sca" value="<?php echo $sca ?>">
<div class="form-row mx-n1">
<div class="col-6 col-sm-3 px-1">
<label for="sfl" class="sr-only">검색대상</label>
<input type="hidden" name='sfl' id='sfl' value="<?php echo $sido ?>">
<input type="hidden" name='sfl' id='sfl' value="<?php echo $gugun ?>">
<script>
for (sidoTotal = 0; this["sdg_" + (sidoTotal + 1)]; sidoTotal++);
function startMode() {
for (sido = 1; sido <= sidoTotal; sido++) if (this['sdg_' + sido][0] == sidoName.value) sidoNumber = sido;
if (sidoName.value == "") gugunName.innerHTML = "<option value=''>시군구선택</option>";
else {
gugunName.innerHTML = "<option value='' style=display:none>시군구선택 (" + sidoName.value + ")</option>";
for (sdgg = 0; sdgg < this['sdg_' + sidoNumber][1].length; sdgg++) gugunName.innerHTML += "<option value='" + this['sdg_' + sidoNumber][1][sdgg] + "'>" + this['sdg_' + sidoNumber][1][sdgg] + "</option>";
for (gugun_name of gugunName.getElementsByTagName("option")) if (gugun_name.value == sdgSubmit.value.split("|")[1]) gugun_name.selected = 1;
gugunName.onchange = function() {
sdgSubmit.value = sidoName.value + "|" + gugunName.value;
}
}
}
function sdgMode() {
sdgSubmit.value = "";
startMode();
}
</script>
<table style=width:100%;table-layout:fixed cellpadding=0 cellspacing=0>
<td>
<div class="bo_w_select write_div" style=margin:0px>
<select name='stx' id=sidoName style=text-align:center onchange=sdgMode() required>
<option value="" style=display:none>전국지역</option>
<script>
for (sido = 1; sido <= sidoTotal; sido++) document.write("<option value=" + this['sdg_' + sido][0] + ">" + this['sdg_' + sido][0] + "</option>");
for (sido_name of sidoName.getElementsByTagName("option")) if (sido_name.value == sdgSubmit.value.split("|")[0]) sido_name.selected = 1;
</script>
</select>
</div>
</td>
<td style=width:10px></td>
<td>
<div class="bo_w_select write_div" style=margin:0px>
<select id=gugunName style=text-align:center required><script>startMode();</script></select>
</div>
</td>
</table>
<div class="input-group-append">
<button type="submit" class="btn btn-primary" title="검색하기">
<i class="fa fa-search" aria-hidden="true"></i>
<span class="sr-only">검색하기</span>
</button>
</div>
</div>
</div>
</div>
</form>
답변 3
<input type="hidden" name='sfl' id='sfl' value="wr_9">
검색 대상에 필드명을 넣으셔야 합니다.
그리고 시도와 구군은 구분자 없이 wr_9 에는 시도 wr_10 에는 구군
이렇게 따로 저장을 해야 검색이 잘 됩니다.
"www/lib/common.lib.php"에서
// 검색 구문을 얻는다.
function get_sql_search($search_ca_name, $search_field, $search_text, $search_operator='and')
이 함수를 한번 검토해 보시기를 추천합니다.
답변 감사합니다.