주문내역에서 통합검색하는 방법
본문
현재 영카트 주문내역이 각 필드만 검색이 되는데
통합검색을 하려면 어떻게 해야하나요?
<option value="all" <?php if($_GET['sel_field'] == 'all'):?>selected="selected"<?php endif?>>통합검색</option>
<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>
답변 3
속도가 많이 느려질수도 있습니다만..
//orderlist.php
$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'] : '';
// 이 부분 찾아서 array 에 all 추가하시고
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%' ";
}
}
아, 오타가 있었네요...
cancat 안에 ' 를 전부 지워주세요~
음.... 제 서버에서 테스트 했을땐 따옴표만 지우면 정상 작동 하더라구요...
$sql = " select *,
(od_cart_coupon + od_coupon + od_send_coupon) as couponprice
$sql_common
order by $sort1 $sort2
limit $from_record, $rows ";
// 이부분 찾으셔서 바로 밑에
echo $sql;
sql 문 보여주실수 있나요 ?
!-->
답변을 작성하시기 전에 로그인 해주세요.