검색에서 검색어를 입력하는 대신 셀렉트로 받아서 할러고 합니다.
셀렉트로 받은 값을 검색어에 대체할러고 아래와 같이 hidden으로 보내는데
반영이 되지 않고 전체검색이 되버리네요.
검색어로 받는 부분이 잘못 된것 같은데 한번 봐 주시면 감사하겠습니다.
<div id="hd_sch">
</script>
<form name="frmsearch1" action="<?php echo G5_SHOP_URL; ?>/search.php" onsubmit="return search_submit(this);">
<input type="hidden" name="q" id="sch_str" value="<?php echo $hp1 ?> <?php echo $hp2 ?> <?php echo $hp3 ?>">
<select name='hp1' class='ed' itemname='원산지' >
<option value='' <? if($hp1 == "") echo "selected"; ?>>선택하세요</option>
<option value='베트남' <? if($hp1 == "베트남") echo "selected"; ?>>베트남</option>
<option value='중국' <? if($hp1 == "중국") echo "selected"; ?>>중국</option>
</select>
<select name='hp2' class='ed' itemname='색상' >
<option value='' <? if($hp2 == "") echo "selected"; ?>>선택하세요</option>
<option value='검정' <? if($hp2 == "검정") echo "selected"; ?>>검정</option>
<option value='흰색' <? if($hp2 == "흰색") echo "selected"; ?>>흰색</option>
</select>
<select name='hp3' class='ed' itemname='형태' >
<option value='' <? if($hp3 == "") echo "selected"; ?>>선택하세요</option>
<option value='원형' <? if($hp3 == "원형") echo "selected"; ?>>원형</option>
<option value='사각' <? if($hp3 == "사각") echo "selected"; ?>>사각</option>
</select>
<label for="sch_str" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
<input type="submit" value="검색" id="sch_submit">
</form>
<script>
function search_submit(f) {
if (f.q.value.length < 2) {
alert("검색어는 두글자 이상 입력하십시오.");
f.q.select();
f.q.focus();
return false;
}
return true;
}
</script>
답변 3개 / 댓글 1개
잉끼님, 균이님 감사합니다.
상기 예제에서는 셀렉트3개의 값을 합하여 검색어 값인 q에
hidden값으로 보내서 할러고 했는데 이방식은 잘 안되더군요.
결국은 검색어 값인 q외 q1, q2이렇게 3개를 셀렉트폼으로 값을 받아 보낸후
결과 페이지인 search.php 파일에서
q1과 q2관련 함수들을 새로 생성하여
적용하는 방식으로 해결 하였습니다.
$q = $hp1 + $hp2 + $hp3; <-- 삭제
frmdetailsearch.q.value= $hp1 +' '+ $hp2 +' '+ $hp3;
$hp1, $hp2, $hp3 데이터 에 대해서
어떤 쿼리문으로 처리를 하셨나요??
답변에 대한 댓글 1개
답변을 작성하려면 로그인이 필요합니다.
특별히 쿼리문을 작성한것은 아니고요.
아래 원문은 입력값을 받아서 $q값으로 넘겨주는것입니다.
<input type="text" name="q" value="<?php echo $q; ?>" id="ssch_q" class="frm_input" size="40" maxlength="30">
그런데, 검색어 입력하는것을
셀렉트로 3개를 나누어 각 검색어를 $hp1, $hp2, $hp3 으로 받아서
$q값에 그냥 넘겨 주는것입니다.
즉, 3개의 $hp1+ $hp2 + $hp3 의 값(value)을 합하여
검색어 변수 $q의 값(value)으로 넘겨주는것이 가능하게 할러고 한것입니다.
아래 스크립트 문을 활용해서 할러고 했던 것입니다.
<script>
$hp1 = frmdetailsearch.hp1.value;
$hp2 = frmdetailsearch.hp2.value;
$hp3 = frmdetailsearch.hp3.value;
$q = $hp1 + $hp2 + $hp3;
</script>