채택완료

it_1 여분필드를 이용한 검색어 추가 문의드립니다.

2017-04-11 (화) 18:44:13 5,259

안녕하세요.

상품테이블에 it_1 여분필드를 이용한 검색을 추가하려합니다.

it_1 데이터값은 가정의달 입니다.

search.php 파일에 기존 검색내용에 qit_1을 추가하였는데요.

head파일에서 검색시에는 정상적으로 검색이되나

검색페이지 안에서 검색시 정상적으로 검색이 되지 않고 있습니다.

Copy
<?phpinclude_once('./_common.php');if (G5_IS_MOBILE) {    include_once(G5_MSHOP_PATH.'/search.php');    return;}$g5['title'] = "상품 검색 결과";include_once('./_head.php');// QUERY 문에 공통적으로 들어가는 내용// 상품명에 검색어가 포한된것과 상품판매가능인것만$sql_common = " from {$g5['g5_shop_item_table']} a, {$g5['g5_shop_category_table']} b ";$where = array();$where[] = " (a.ca_id = b.ca_id and a.it_use = 1 and b.ca_use = 1) ";$search_all = true;// 상세검색 이라면if (isset($_GET['qname']) || isset($_GET['qexplan']) || isset($_GET['qid']) || isset($_GET['qit_1']))    $search_all = false;$q       = utf8_strcut(get_search_string(trim($_GET['q'])), 30, "");$qname   = isset($_GET['qname']) ? trim($_GET['qname']) : '';$qexplan = isset($_GET['qexplan']) ? trim($_GET['qexplan']) : '';$qid     = isset($_GET['qid']) ? trim($_GET['qid']) : '';$qcaid   = isset($_GET['qcaid']) ? trim($_GET['qcaid']) : '';$qfrom   = isset($_GET['qfrom']) ? preg_replace('/[^0-9]/', '', trim($_GET['qfrom'])) : '';$qto     = isset($_GET['qto']) ? preg_replace('/[^0-9]/', '', trim($_GET['qto'])) : '';$qit_1  = isset($_GET['qit_1']) ? preg_replace('/[^0-9]/', '', trim($_GET['qit_1'])) : '';if (isset($_GET['qsort']))  {    $qsort = trim($_GET['qsort']);    $qsort = preg_replace("/[\<\>\'\"\\\'\\\"\%\=\(\)\s]/", "", $qsort);} else {    $qsort = '';}if (isset($_GET['qorder']))  {    $qorder = preg_match("/^(asc|desc)$/i", $qorder) ? $qorder : '';} else {    $qorder = '';}if(!($qname || $qexplan || $qid || $qit_1))    $search_all = true;// 검색범위 checkbox 처리$qname_check = false;$qexplan_check = false;$qid_check = false;$qit_1_check = false;if($search_all) {    $qname_check = true;    $qexplan_check = true;    $qid_check = true;    $qit_1_check = true;} else {    if($qname)        $qname_check = true;    if($qexplan)        $qexplan_check = true;    if($qid)        $qid_check = true;    if($qit_1)        $qit_1_check = true;}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 || $qexplan)            $concat[] = "a.it_explan2";        if ($search_all || $qid)            $concat[] = "a.it_id";        if ($search_all || $qit_1)            $concat[] = "a.it_1";        $concat_fields = "concat(".implode(",' ',",$concat).")";        $detail_where[] = $concat_fields." like '%$word%' ";        // 인기검색어        insert_popular($concat, $word);    }    $where[] = "(".implode(" and ", $detail_where).")";}if ($qit_1)      $where[] = " a.it_1 like '$qit_1%' "; if ($qcaid)    $where[] = " a.ca_id like '$qcaid%' ";if ($qfrom && $qto)    $where[] = " a.it_price between '$qfrom' and '$qto' ";$sql_where = " where " . implode(" and ", $where);// 상품 출력순서가 있다면$qsort  = strtolower($qsort);$qorder = strtolower($qorder);$order_by = "";// 아래의 $qsort 필드만 정렬이 가능하게 하여 다른 필드로 하여금 유추해 볼수 없게함if (($qsort == "it_sum_qty" || $qsort == "it_price" || $qsort == "it_use_avg" || $qsort == "it_use_cnt" || $qsort == "it_update_time") &&    ($qorder == "asc" || $qorder == "desc")) {    $order_by = ' order by ' . $qsort . ' ' . $qorder . ' , it_order, it_id desc';}// 총몇개 = 한줄에 몇개 * 몇줄$items = $default['de_search_list_mod'] * $default['de_search_list_row'];// 페이지가 없으면 첫 페이지 (1 페이지)if ($page < 1) $page = 1;// 시작 레코드 구함$from_record = ($page - 1) * $items;// 검색된 내용이 몇행인지를 얻는다$sql = " select COUNT(*) as cnt $sql_common $sql_where ";$row = sql_fetch($sql);$total_count = $row['cnt'];$total_page  = ceil($total_count / $items); // 전체 페이지 계산if ($is_admin) {    echo '<div class="sit_admin"><a href="'.G5_ADMIN_URL.'/shop_admin/configform.php#anc_scf_etc'.'" class="btn_admin">검색 설정</a></div>';}?><!-- 검색 시작 { --><div id="ssch">    <!-- 상세검색 항목 시작 { -->    <div id="ssch_frm">        <form name="frmdetailsearch">        <input type="hidden" name="qsort" id="qsort" value="<?php echo $qsort ?>">        <input type="hidden" name="qorder" id="qorder" value="<?php echo $qorder ?>">        <input type="hidden" name="qcaid" id="qcaid" value="<?php echo $qcaid ?>">        <input type="hidden" name="qit_1" id="qit_1" value="<?php echo $qit_1 ?>">        <div>            <strong>검색범위</strong>            <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="qit_1" id="ssch_qit_1" value="1" <?php echo $qit_1_check?'checked="checked"':'';?>> <label for="ssch_qit_1">시즌</label>            <input type="checkbox" name="qid" id="ssch_qid" value="1" <?php echo $qid_check?'checked="checked"':'';?>> <label for="ssch_qid">상품코드</label>        </div><!--        <div>            <strong>상품가격 (원)</strong>            <label for="ssch_qfrom" class="sound_only">최소 가격</label>            <input type="text" name="qfrom" value="<?php echo $qfrom; ?>" id="ssch_qfrom" class="frm_input" size="10"> ~            <label for="ssch_qto" class="sound_only">최대 가격</label>            <input type="text" name="qto" value="<?php echo $qto; ?>" id="ssch_qto" class="frm_input" size="10"> 까지        </div>-->        <div>            <label for="ssch_q" class="ssch_lbl">검색어</label>            <input type="text" name="q" value="<?php echo $q; ?>" id="ssch_q" class="frm_input" size="40" maxlength="30">            <input type="submit" value="검색" class="btn_submit">        </div>        </form><hr>    </div>    <!-- } 상세검색 항목 끝 -->    <!-- } 검색된 분류 끝 -->    <!-- 검색결과 시작 { -->    <div>        <?php        // 리스트 유형별로 출력        $list_file = G5_SHOP_SKIN_PATH.'/'.$default['de_search_list_skin'];        if (file_exists($list_file)) {            define('G5_SHOP_CSS_URL', G5_SHOP_SKIN_URL);            $list = new item_list($list_file, $default['de_search_list_mod'], $default['de_search_list_row'], $default['de_search_img_width'], $default['de_search_img_height']);            $list->set_query(" select * $sql_common $sql_where {$order_by} limit $from_record, $items ");            $list->set_is_page(true);            $list->set_view('it_img', true);            $list->set_view('it_id', true);            $list->set_view('it_name', false);            $list->set_view('it_basic', false);            $list->set_view('it_cust_price', false);            $list->set_view('it_price', false);            $list->set_view('it_icon', false);            $list->set_view('sns', false);            echo $list->run();        }        else        {            $i = 0;            $error = '<p class="sct_nofile">'.$list_file.' 파일을 찾을 수 없습니다.<br>관리자에게 알려주시면 감사하겠습니다.</p>';        }        if ($i==0)        {            echo '<div>'.$error.'</div>';        }        $query_string = 'qname='.$qname.'&amp;qexplan='.$qexplan.'&amp;qid='.$qid;        if($qfrom && $qto) $query_string .= '&amp;qfrom='.$qfrom.'&amp;qto='.$qto;        $query_string .= '&amp;qcaid='.$qcaid.'&amp;q='.urlencode($q);        $query_string .='&amp;qsort='.$qsort.'&amp;qorder='.$qorder;        echo get_paging($config['cf_write_pages'], $page, $total_page, $_SERVER['SCRIPT_NAME'].'?'.$query_string.'&amp;page=');        ?>    </div>    <!-- } 검색결과 끝 --></div><!-- } 검색 끝 --><script>function set_sort(qsort, qorder, qit_1){    var f = document.frmdetailsearch;    f.qsort.value = qsort;    f.qorder.value = qorder;    f.qit_1.value = qit_1;    f.submit();}function set_ca_id(qcaid){    var f = document.frmdetailsearch;    f.qcaid.value = qcaid;    f.submit();}</script><?phpinclude_once('./_tail.php');?>

검색시 링크가

도메인/shop/search.php?qsort=&qorder=&qcaid=&qit_1=1&qname=1&qexplan=1&q=가정의달

이렇게 나타나는데요 it_1 에 있는 qit_1 내용은 가정의달 입니다. 

|

답변 1개 / 댓글 1개

채택된 답변
+20 포인트

 <input type="hidden" name="qit_1" id="qit_1" value="<?php echo $qit_1 ?>"> 


이거 하나 지워보세요


 name="qit_1" 이 두개나 들어있네요

답변에 대한 댓글 1개

답변감사드립니다
알려주신 부분 지우고 해보았으나 똑같네요..
중복되는 내용 찾아주셔서 감사합니다^^

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