크롬80버전 결제 이슈, 영카트5 주요패치 확인!

다중검색 후에 2~3페이지 클릭시 초기화 되는 현상

그누보드5
영카트5
매뉴얼
Q & A
제작의뢰
컨텐츠몰
부가서비스
소모임
커뮤니티
다중검색 후에 2~3페이지 클릭시 초기화 되는 현상

QA

사수가 없어도 할 수 있다! 초보자를 위한 그누보드 FAQ

다중검색 후에 2~3페이지 클릭시 초기화 되는 현상

본문


<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
?>
<!-- 검색 시작 { -->
<div id="ssch">
<!-- 분류 체크박스  -->
<form name="frmdetailsearch" class="check_box_wrapper">
        <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 ?>">
        <div class="chk_wrapper">
          <dl>
              <dt>STEP 01 어떤 제품을 찾으시나요?</dt>
              <dd>
              <input type="checkbox" id="chk1" name="it_step1[]" value="WEDDING" <?php if (strpos($it_step1_arr,"WEDDING") !== false){ echo "checked"; }?>>
              <label for="chk1"></label><span >WEDDING</span>
              <input type="submit" value="" class="btn_submit">
              </dd>
              <dd>
              <input type="checkbox" id="chk2" name="it_step1[]" value="PROPOSE" <?php if (strpos($it_step1_arr,"PROPOSE") !== false){ echo "checked"; }?>>
              <label for="chk2"></label><span>PROPOSE</span>
              <input type="submit" value="" class="btn_submit">
              </dd>
              <dd>
              <input type="checkbox" id="chk3" name="it_step1[]" value="FINE" <?php if (strpos($it_step1_arr,"FINE") !== false){ echo "checked"; }?>>
              <label for="chk3"></label><span>FINE</span>
              <input type="submit" value="" class="btn_submit">
              </dd>
              <dd>
              <input type="checkbox" id="chk4" name="it_step1[]" value="FASHION" <?php if (strpos($it_step1_arr,"FASHION") !== false){ echo "checked"; }?>>
              <label for="chk4"></label><span>FASHION</span>
              <input type="submit" value="" class="btn_submit">
              </dd>
              <dd>
              <input type="checkbox" id="chk5" name="it_step1[]" value="PEARL" <?php if (strpos($it_step1_arr,"PEARL") !== false){ echo "checked"; }?>>
              <label for="chk5"></label><span>PEARL</span>
              <input type="submit" value="" class="btn_submit">
              </dd>
          </dl>
          <dl>
              <dt>STEP 02 어떤 스타일의 제품을 찾으시나요?</dt>
              <dd>
              <input type="checkbox" id="chk1_1" name="it_step2[]"  value="SIMPLE" <?php if (strpos($it_step2_arr,"SIMPLE") !== false){ echo "checked"; }?>>
              <label for="chk1_1"></label><span>SIMPLE</span>
              <input type="submit" value="" class="btn_submit">
              </dd>
              <dd>
              <input type="checkbox" id="chk1_2" name="it_step2[]" value="LOVELY" <?php if (strpos($it_step2_arr,"LOVELY") !== false){ echo "checked"; }?>>
              <label for="chk1_2"></label><span>LOVELY</span>
              <input type="submit" value="" class="btn_submit">
              </dd>
              <dd>
              <input type="checkbox" id="chk1_3" name="it_step2[]" value="FANCY" <?php if (strpos($it_step2_arr,"FANCY") !== false){ echo "checked"; }?>>
              <label for="chk1_3"></label><span>FANCY</span>
              <input type="submit" value="" class="btn_submit">
              </dd>
              <dd>
              <input type="checkbox" id="chk1_4" name="it_step2[]" value="UNIQUE" <?php if (strpos($it_step2_arr,"UNIQUE") !== false){ echo "checked"; }?>>
              <label for="chk1_4"></label><span>UNIQUE</span>
              <input type="submit" value="" class="btn_submit">
              </dd>
          </dl>
          <dl>
              <dt>STEP 03 생각하는 금액대는 어느 정도인가요?</dt>
              <dd>
              <input type="checkbox" id="chk2_1" name="it_step3[]" value="30" <?php if (strpos($it_step3_arr,"30") !== false){ echo "checked"; }?>>
              <label for="chk2_1"></label><span>30만원 이하</span>
              <input type="submit" value="" class="btn_submit">
              </dd>
              <dd>
              <input type="checkbox" id="chk2_2" name="it_step3[]" value="50" <?php if (strpos($it_step3_arr,"50") !== false){ echo "checked"; }?>>
              <label for="chk2_2"></label><span>~50만원</span>
              <input type="submit" value="" class="btn_submit">
              </dd>
              <dd>
              <input type="checkbox" id="chk2_3" name="it_step3[]" value="100" <?php if (strpos($it_step3_arr,"100") !== false){ echo "checked"; }?>>
              <label for="chk2_3"></label><span>~100만원</span>
              <input type="submit" value="" class="btn_submit">
              </dd>
              <dd>
              <input type="checkbox" id="chk2_4" name="it_step3[]" value="200" <?php if (strpos($it_step3_arr,"200") !== false){ echo "checked"; }?>>
              <label for="chk2_4"></label><span>~200만원</span>
              <input type="submit" value="" class="btn_submit">
              </dd>
              <dd>
              <input type="checkbox" id="chk2_5" name="it_step3[]" value="up" <?php if (strpos($it_step3_arr,"up") !== false){ echo "checked"; }?>>
              <label for="chk2_5"></label><span>200만원 이상</span>
              <input type="submit" value="" class="btn_submit">
              </dd>
          </dl>
      </div>
        </div>
        <a href="javascript:void(0)" class="uncheck">Clear All</a>
<!-- // 분류 체크박스 -->
    <!-- 상세검색 항목 시작 { -->
    <div id="ssch_frm">
        <center><h2><span><strong><?php echo $q; ?></strong> 검색결과</span> (총 <strong><?php echo $total_count; ?></strong> 건 )</h2></center>

        <div class="ssch_scharea">
<!--
            <div class="ssch_right">
                <strong class="sound_only">검색범위</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="qbasic" id="ssch_qbasic" value="1" <?php echo $qbasic_check?'checked="checked"':'';?>> <label for="ssch_qbasic">기본설명</label>
                <input type="checkbox" name="qid" id="ssch_qid" value="1" <?php echo $qid_check?'checked="checked"':'';?>> <label for="ssch_qid">상품코드</label>
                <span>
                <strong class="sound_only">상품가격 (원)</strong>
                <label for="ssch_qfrom" class="sound_only">최소 가격</label>
                <input type="text" name="qfrom" value="<?php echo $qfrom; ?>" id="ssch_qfrom" class="ssch_input" size="8"> 원 ~
                <label for="ssch_qto" class="sound_only">최대 가격</label>
                <input type="text" name="qto" value="<?php echo $qto; ?>" id="ssch_qto" class="ssch_input" size="8"> 원
                </span>
            </div>
          -->
            <div class="ssch_left">
                <label for="ssch_q" class="sound_only" >검색어</label>
                <input type="text" name="q" value="<?php echo $q; ?>" id="ssch_q" class="ssch_input" size="40" maxlength="30" placeholder="상품을 입력 하세요. 예) 커플링 ">
                <input type="submit" value="검색"  class="btn_submit">
            </div>
        </div>
        <p>
            상세검색을 선택하지 않거나, 상품가격을 입력하지 않으면 전체에서 검색합니다.<br>
            검색어는 최대 30글자까지, 여러개의 검색어를 공백으로 구분하여 입력 할수 있습니다.
        </p>
        </form>
    </div>
    <!-- } 상세검색 항목 끝 -->
    <!-- 검색된 분류 시작 { -->
    <!-- <div id="ssch_cate" class="sct_ct">
        <ul>
        <?php
        $total_cnt = 0;
        echo '<li><a href="#" onclick="set_ca_id(\'\'); return false;" class="btn_hover box all">전체분류 <span>'.$total_cnt.'</span></a></li>'.PHP_EOL;
        foreach( $categorys as $row ){
            echo "<li><a href=\"#\" onclick=\"set_ca_id('{$row['ca_id']}'); return false;\" class=\"btn_hover box\">{$row['ca_name']} <span>".$row['cnt']."</span></a></li>\n";
            $total_cnt += $row['cnt'];
        }
        ?>
        </ul>
    </div> -->
    <!-- } 검색된 분류 끝 -->
    <!-- 검색결과 시작 { -->
    <div>
        <?php
        // 리스트 유형별로 출력
        define('G5_SHOP_CSS_URL', G5_MSHOP_SKIN_URL);
        $list_file = G5_MSHOP_SKIN_PATH.'/'.$default['de_mobile_search_list_skin'];
        if (file_exists($list_file)) {
            $list = new item_list($list_file, $default['de_mobile_search_list_mod'], $default['de_mobile_search_list_row'], $default['de_mobile_search_img_width'], $default['de_mobile_search_img_height']);
            $list->set_query(" select * $sql_common $sql_where $sql_search1 $sql_search2 $sql_search3 {$order_by} limit $from_record, $items ");
            $list->set_is_page(true);
            $list->set_mobile(true);
            $list->set_view('it_img', true);
            $list->set_view('it_id', false);
            $list->set_view('it_name', true);
            $list->set_view('it_basic', true);
            $list->set_view('it_cust_price', false);
            $list->set_view('it_price', true);
            $list->set_view('it_icon', true);
            $list->set_view('sns', true);
            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.'&qexplan='.$qexplan.'&qid='.$qid.'&qbasic='.$qbasic;
        if($qfrom && $qto) $query_string .= '&qfrom='.$qfrom.'&qto='.$qto;
        $query_string .= '&qcaid='.$qcaid.'&q='.urlencode($q);
        $query_string .='&qsort='.$qsort.'&qorder='.$qorder;
        echo get_paging($config['cf_mobile_pages'], $page, $total_page, $_SERVER['SCRIPT_NAME'].'?'.$query_string.'&page=');
        ?>
    </div>
    <!-- } 검색결과 끝 -->
</div>
<!-- } 검색 끝 -->
<script>
function set_sort(qsort, qorder)
{
    var f = document.frmdetailsearch;
    f.qsort.value = qsort;
    f.qorder.value = qorder;
    f.submit();
}
function set_ca_id(qcaid)
{
    var f = document.frmdetailsearch;
    f.qcaid.value = qcaid;
    f.submit();
}
$("dd input[type='checkbox']").on('click', function(){
     var f = document.frmdetailsearch;
     f.submit();
});

</script>
<script>
    $(".uncheck").click(function(){
       var input = $("input").attr("checked", true);
       input.removeAttr("checked");
       var f = document.frmdetailsearch;
     f.submit();
    });
</script>
 
이 글을 내 페이스북 계정으로 보내기 이 글을 내 트위터 계정으로 보내기

이 질문에 댓글 쓰기 :

답변 3

채택됨

Policia님의 답변

보통 이경우엔 get_paging 에 파라미터값이 전달이 안되어 페이지이동시에 파라미터를 들고가지 않아 발생하는 문제입니다

it_step1 , it_step2 , it_step3 등을 보시면 아시겠지만 값이있을때 파라미터로 들고가지않네요

 

$query_string .= '&it_step1='.$it_step1.'&it_step2='.$it_step2.'&it_step3='.$it_step3;

이런식으로 값을 get_paging에 넘겨주셔야합니다

주소복사
채택됨
답변의 댓글
Policia님의 댓글
말그대로 echo get_paging에 파라미터값을 담은 url을 보내줘야한다는 이야기입니다
echo get_paging 위에 제가 적은 $query_string 변수를 넣어줘보세요

'&it_step1[]='.$it_step1 이런식이 되어야하겠네요
기존에 인풋네임이 it_step1[]이니깐요
SodaSalt님의 댓글
친절한 답변 감사 드립니다. 그렇게도 해보았는데요, 2페이지 넘기면 검색 결과가 조금 바뀔뿐  체크박스가 풀려버리네요 ^^:
1페이지 문제 없음.
search.php?qsort=&qorder=&qcaid=&it_step1%5B%5D=WEDDING&it_step1%5B%5D=PROPOSE&it_step3%5B%5D=up&q=

2페이지 결과 없음.
shop/search.php?qname=&qexplan=&qid=&qbasic=&it_step1[]=Array&it_step2[]=&it_step3[]=Array&qcaid=&q=&qsort=&qorder=&page=2


1페이지
/search.php?qsort=&qorder=&qcaid=&it_step1%5B%5D=WEDDING&it_step1%5B%5D=PROPOSE&it_step3%5B%5D=up&q=&page=2
끝에 &page=2  직접 입력시 2페이지 결과값이 정상입니다.
Policia님의 댓글
아아아

이렇게 해주세요
'&it_step1[]='.implode('&it_step1[]=',$it_step1)
이런식으로 나머지 스탭도 처리해주시면됩니다

get방식으로 배열을 넘기는거기때문에 이런식으로 넘겨야할꺼에요

SodaSalt님의 답변

다중 검색후 리스트에서 

 

열린1페이지 2페이지 3페이지 맨끝

 

페이지 이동을 하면 검색 결과가 초기화 됩니다.  

위 소스중에 빠진 부분이 있을까요 ??

주소복사
답변의 댓글

toqurk님의 답변

form method 를 get으로 하셔서 검색 후 $query_string 쪽으로 검색 값이 같이 넘어가는지 먼저 체크 해보세요...

현재 소스상으로는 $query_string에 검색값이 없는것으로 보여지는데... hidden 값만 넘어가는것으로 보여집니다

주소복사
답변의 댓글
답변을 작성하시기 전에 로그인 해주세요.
전체 12,392
고마운 분의 도움으로 질문을 해결하셨다면, 채택을 눌러서 감사의 마음을 전하세요.
어떻게 질문해야 할지 모른다면 질문하는 방법을 읽어 보신후 질문해 보세요.
QA 내용 검색

회원로그인

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

© SIRSOFT