테스트 사이트 - 개발 중인 베타 버전입니다

주문내역에서 통합검색하는 방법 채택완료

지솩 3년 전 조회 2,197

현재 영카트 주문내역이 각 필드만 검색이 되는데

통합검색을 하려면 어떻게 해야하나요?

 

</p>

<p><span style="background-color:#f1c40f;"><option value="all" <?php if($_GET['sel_field'] == 'all'):?>selected="selected"<?php endif?>>통합검색</option></span>

    <option value="od_id" <?php echo get_selected($sel_field, 'od_id'); ?>>주문번호</option>

    <option value="mb_id" <?php echo get_selected($sel_field, 'mb_id'); ?>>회원 ID</option>

    <option value="od_name" <?php echo get_selected($sel_field, 'od_name'); ?>>주문자</option>

    <option value="od_tel" <?php echo get_selected($sel_field, 'od_tel'); ?>>주문자전화</option>

    <option value="od_hp" <?php echo get_selected($sel_field, 'od_hp'); ?>>주문자핸드폰</option>

    <option value="od_b_name" <?php echo get_selected($sel_field, 'od_b_name'); ?>>받는분</option>

    <option value="od_b_tel" <?php echo get_selected($sel_field, 'od_b_tel'); ?>>받는분전화</option>

    <option value="od_b_hp" <?php echo get_selected($sel_field, 'od_b_hp'); ?>>받는분핸드폰</option>

    <option value="od_deposit_name" <?php echo get_selected($sel_field, 'od_deposit_name'); ?>>입금자</option>

    <option value="od_invoice" <?php echo get_selected($sel_field, 'od_invoice'); ?>>운송장번호</option></p>

<p>

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

답변 3개

채택된 답변
+20 포인트
m
3년 전

속도가 많이 느려질수도 있습니다만.. 

</p>

<p>//orderlist.php </p>

<p>$sel_field = (isset($_GET['sel_field']) && in_array($_GET['sel_field'], array('od_id', 'mb_id', 'od_name', 'od_tel', 'od_hp', 'od_b_name', 'od_b_tel', 'od_b_hp', 'od_deposit_name', 'od_invoice')) ) ? $_GET['sel_field'] : ''; </p>

<p>// 이 부분 찾아서 array 에 all 추가하시고 </p>

<p>if ($sel_field != "") {

    $where[] = " $sel_field like '%$search%' ";

}

// 이 부분 찾아서 

if ($sel_field != "") {

    if($sel_field == "all"){

        $where[] = "  concat('od_id', 'mb_id', 'od_name', 'od_tel', 'od_hp', 'od_b_name', 'od_b_tel', 'od_b_hp', 'od_deposit_name', 'od_invoice') regexp '".$search."' ";

    } else {

        $where[] = " $sel_field like '%$search%' ";

    }

}</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

지솩
3년 전
답변 대단히 감사합니다. 그런데 코드를 수정하여 통합검색을 하였는데 실제 검색은 되지 않습니다.
계속해서 수정해 보고있는데 코드를 이해하지 못하여 다시 한번 팁을 얻고자 문의를 드려봅니다.

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

m
3년 전

음.... 제 서버에서 테스트 했을땐 따옴표만 지우면 정상 작동 하더라구요... 

</p>

<p>$sql  = " select *,

            (od_cart_coupon + od_coupon + od_send_coupon) as couponprice

           $sql_common

           order by $sort1 $sort2

           limit $from_record, $rows ";</p>

<p>// 이부분 찾으셔서 바로 밑에 </p>

<p>echo $sql;</p>

<p>

sql 문 보여주실수 있나요 ?

로그인 후 평가할 수 있습니다

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

m
3년 전

아, 오타가 있었네요... 

cancat 안에 ' 를 전부 지워주세요~

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

지솩
3년 전
답변감사합니다. 그런데 작은따옴표를 모두 지웠는데도 실제 검색은 되지 않습니다 ㅠㅠ 어렵네요

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

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

로그인