검색에서 배열로 된 값을 가져오는 법은 없을까요?
본문
<!--list-->
<?php
for ($i = 0; $i < count($list); $i++) {
$list[$i]["wr_1"] = json_decode($list[$i]["wr_1"], true);
if ($i % 2 == 0) $lt_class = "even";
else $lt_class = "";
?>
<td><a href="<?= $list[$i]['href'] ?>"><?= $list[$i]["wr_1"]["phone"]["first"] ?>-<?= $is_admin ? $list[$i]["wr_1"]["phone"]["second"] : "****" ?>-<?= $list[$i]["wr_1"]["phone"]["third"] ?></a></td>
<?}?>
<!--검색-->
<form name="fsearch" method="get">
<input type="hidden" name="bo_table" value="<?=$bo_table ?>">
<input type="hidden" name="sca" value="<?=$sca ?>">
<input type="hidden" name="sop" value="and">
<label for="sfl" class="sound_only">검색대상</label>
<select name="sfl" class="frm_input">
<option value="wr_subject"<?=get_selected($sfl, 'wr_subject', true) ?>>성함(업체명)</option>
<option value="wr_content"<?=get_selected($sfl, 'wr_content') ?>>문의내용</option>
<option value="wr_subject||wr_content"<?=get_selected($sfl, 'wr_subject||wr_content') ?>>성함(업체명)+문의내용</option>
<!--연락처-->
<option value="wr_1"<?=get_selected($sfl, 'wr_1') ?>>연락처</option>
</select>
<input name="stx" value="<?=stripslashes($stx) ?>" placeholder="검색어(필수)" required id="stx" class="required frm_input" size="15" maxlength="20">
<input type="submit" value="검색" class="btn_submit btn" style="background:#444; height: 45px;">
</form>
현재 검색 기능을 추가하는 중입니다.
그냥 평범하게 있는 검색기능을 가져다 쓰고 싶지만 소스코드를 확인해본 결과 연락처 부분이 단일 필드에 저장된 게 아니고 json 형식으로 묶여서 저장이 되어있더라구요
문제는 검색에서 연락처도 검색이 되게 해야 하는데 이리저리 찾아봐도 방법이 떠오르지가 않습니다.
반복문을 쓰자니 옵션이 여러가지가 되고 애초에 $sfl이 필드를 기준 삼아 검색하는 방식이라 되지도 않을거 같은데 get_selected 함수에서 wr_1 필드를 사용할 수 있는 법이 있을까요?
!-->답변 2
연락처를 분리해서 저장하시는게 가장 정확할듯 하고요.
연락처를 다 넣으시도록 하신다면 그냥 wr_1을 like 검색해도 되실듯 합니다.
* /lib/common.lib.php - get_sql_search()
default :
→
case "wr_1" :
$s[$i] = preg_replace('/[^0-9]/', '', $s[$i]);
$str .= " regexp_replace($field[$k], '[^0-9]', '') like '%{$s[$i]}%' ";
break;
default :
답변을 작성하시기 전에 로그인 해주세요.