검색어를 셀렉트로 받아서 하는 방법은

검색어를 셀렉트로 받아서 하는 방법은

QA

검색어를 셀렉트로 받아서 하는 방법은

본문

검색에서 검색어를 입력하는 대신 셀렉트로 받아서 할러고 합니다.

셀렉트로 받은 값을 검색어에 대체할러고 아래와 같이 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

$hp1, $hp2, $hp3  데이터 에 대해서

어떤 쿼리문으로 처리를 하셨나요?? 

답변 감사합니다.
특별히 쿼리문을 작성한것은 아니고요.

아래 원문은 입력값을 받아서 $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>​

잉끼님, 균이님 감사합니다.

 

상기 예제에서는 셀렉트3개의 값을 합하여 검색어 값인 q에

hidden값으로 보내서 할러고 했는데 이방식은 잘 안되더군요.

 

결국은 검색어 값인 q외 q1, q2이렇게 3개를 셀렉트폼으로 값을 받아 보낸후

 

결과 페이지인 search.php 파일에서

q1과 q2관련 함수들을 새로 생성하여

적용하는 방식으로 해결 하였습니다.  

답변을 작성하시기 전에 로그인 해주세요.
전체 123,155 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT