채택완료

영카트 select 내용에따라 검색하기

2018-04-04 (수) 19:47:25 3,180

1028322315_1522838734.3271.png

이런식으로 상품명이나 모델명 같은 같을 선택하면 그 값으로 검색되게할순없나요??

search.php의 어느부분을 수정해야할까요

|

답변 1개 / 댓글 1개

채택된 답변
+20 포인트

search.skin.php 상단 부분에

Copy
<!-- <input type="checkbox" name="qname" id="ssch_qname" value="1" <?php echo $qname_check?'checked="checked"':'';?>> <label for="ssch_qname">상품명</label>
            <input type="checkbox" name="qexplan" id="ssch_qexplan" value="1" <?php echo $qexplan_check?'checked="checked"':'';?>> <label for="ssch_qexplan">상품설명</label>
            <input type="checkbox" name="qid" id="ssch_qid" value="1" <?php echo $qid_check?'checked="checked"':'';?>> <label for="ssch_qid">상품코드</label>
            <input type="checkbox" name="qbasic" id="ssch_qbasic" value="1" <?php echo $qbasic_check?'checked="checked"':'';?>> <label for="ssch_qbasic">기본설명</label> -->

부분을 주석처리하시고요. 

아래 부분을 넣어 주시고요 

Copy
<select name="qname">
                <option value="">전체</option>
                <option value="qname" <?php echo (($qname=="qname")?"selected":"");?>>상품명</option>
                <option value="qmodel" <?php echo (($qname=="qmodel")?"selected":"");?>>모델명</option>
                <option value="qexplan" <?php echo (($qname=="qexplan")?"selected":"");?>>상품설명</option>
                <option value="qid" <?php echo (($qname=="qid")?"selected":"");?>>상품코드</option>
                <option value="qbasic" <?php echo (($qname=="qbasic")?"selected":"");?>>기본설명</option>
            </select>

search.php 부분에 40라인부터 '여기수정' 과 주석처리부분을 변경해 주시면됩니다 

Copy
// 검색범위 checkbox 처리
$qname_check = false;
$qexplan_check = false;
$qid_check = false;
$qbasic_check = false;
$qmodel_check = false; //<---------------여기수정

if($search_all) {
    $qname_check = true;
    $qexplan_check = true;
    $qid_check = true;
    $qbasic_check = true;
} else {
    //<---------------여기수정
    if($qname=="qname"){
        $qname_check = true;
    }
    else if($qname=="qmodel"){
        $qmodel_check = true;
    }
    else if($qname=="qexplan"){
        $qexplan_check = true;
    }
    else if($qname=="qid"){
        $qid_check = true;
    }
    else if($qname=="qbasic"){
        $qbasic_check = true;
    }

    /* 주석처리
    if($qname)
        $qname_check = true;
    if($qexplan)
        $qexplan_check = true;
    if($qid)
        
    if($qbasic)
        
    */
}

if ($q) {
    $arr = explode(" ", $q);
    $detail_where = array();
    for ($i=0; $i<count($arr); $i++) {
        $word = trim($arr[$i]);
        if (!$word) continue;

        $concat = array();
        if ($search_all || $qname)
            $concat[] = "a.it_name";
        if ($search_all || $qmodel){//<---------------여기변경
            $concat[] = "a.it_model";
        }
        if ($search_all || $qexplan)
            $concat[] = "a.it_explan2";
        if ($search_all || $qid)
            $concat[] = "a.it_id";
        if ($search_all || $qbasic)
            $concat[] = "a.it_basic";
        $concat_fields = "concat(".implode(",' ',",$concat).")";

        $detail_where[] = $concat_fields." like '%$word%' ";

        // 인기검색어
        insert_popular($concat, $word);
    }

    $where[] = "(".implode(" and ", $detail_where).")";
}

답변에 대한 댓글 1개

저는 그냥 select박스에 a.it_name이런식으로 그냥 넘겨줘서 야매(?)로 해결했네요

자세한 답변 감사합니다!
이런방법도 있군요

답변을 작성하려면 로그인이 필요합니다.