관리자 상품관리에서 다중검색 문의드립니다.
본문
관리자 상품관리 상단에 상품명,상품코드등을 이용한 검색창이 있는데요.
단일키워드(또는 텍스트 및 숫자) 하나가 아닌 콤마 구분을 통해 여러개의 제품을 검색하고 싶습니다.
explode 를 이용해서 몇번 시도해봤는데 array에러만 뿜어대네요 ㅎㅎ
(나란 남쟈 ㅠ 기초도 없으면서 그냥 막 댐비는 남쟈 ㄷㄷㄷ)
하다하다 지쳐서 도움요청 드립니다. ^^;
$where = " and ";
$sql_search = "";
if ($stx != "") {
if ($sfl != "") {
$sql_search .= " $where $sfl like '%$stx%' ";
$where = " and ";
}
if ($save_stx != $stx)
$page = 1;
}
if ($sca != "") {
$sql_search .= " $where (a.ca_id like '$sca%' or a.ca_id2 like '$sca%' or a.ca_id3 like '$sca%') ";
}
if ($sfl == "") $sfl = "it_name";
$sql_common = " from {$g5['g5_shop_item_table']} a ,
{$g5['g5_shop_category_table']} b
where (a.ca_id = b.ca_id";
if ($is_admin != 'super')
$sql_common .= " and b.ca_mb_id = '{$member['mb_id']}'";
$sql_common .= ") ";
$sql_common .= $sql_search;
// 테이블의 전체 레코드수만 얻음
$sql = " select count(*) as cnt " . $sql_common;
$row = sql_fetch($sql);
$total_count = $row['cnt'];
$rows = $config['cf_page_rows'];
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
if ($page < 1) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함
if (!$sst) {
$sst = "it_id";
$sod = "desc";
}
$sql_order = "order by $sst $sod";
$sql = " select *
$sql_common
$sql_order
limit $from_record, $rows ";
$result = sql_query($sql);
//$qstr = $qstr.'&sca='.$sca.'&page='.$page;
$qstr = $qstr.'&sca='.$sca.'&page='.$page.'&save_stx='.$stx;
$listall = '<a href="'.$_SERVER['SCRIPT_NAME'].'" class="ov_listall">전체목록</a>';
위 search 부분 어디에선가 수정하는것 같은데 잘 모르겠네요 ㅠㅜ
그리고 검색창이 노출되는 폼입니다.
<form name="flist" class="local_sch01 local_sch">
<input type="hidden" name="page" value="<?php echo $page; ?>">
<input type="hidden" name="save_stx" value="<?php echo $stx; ?>">
<label for="sca" class="sound_only">분류선택</label>
<select name="sca" id="sca">
<option value="">전체분류</option>
<?php
$sql1 = " select ca_id, ca_name from {$g5['g5_shop_category_table']} order by ca_order, ca_id ";
$result1 = sql_query($sql1);
for ($i=0; $row1=sql_fetch_array($result1); $i++) {
$len = strlen($row1['ca_id']) / 2 - 1;
$nbsp = '';
for ($i=0; $i<$len; $i++) $nbsp .= ' ';
echo '<option value="'.$row1['ca_id'].'" '.get_selected($sca, $row1['ca_id']).'>'.$nbsp.$row1['ca_name'].'</option>'.PHP_EOL;
}
?>
</select>
<label for="sfl" class="sound_only">검색대상</label>
<select name="sfl" id="sfl">
<option value="it_name" <?php echo get_selected($sfl, 'it_name'); ?>>상품명</option>
<option value="it_sell_email" <?php echo get_selected($sfl, 'it_sell_email'); ?>>쇼핑몰 관리코드</option>
<option value="it_id" <?php echo get_selected($sfl, 'it_id'); ?>>상품코드</option>
<option value="it_maker" <?php echo get_selected($sfl, 'it_maker'); ?>>제조사</option>
<option value="it_origin" <?php echo get_selected($sfl, 'it_origin'); ?>>원산지</option>
</select>
<label for="stx" class="sound_only">검색어</label>
<input type="text" name="stx" value="<?php echo $stx; ?>" id="stx" class="frm_input" size="50">
<input type="submit" value="검색" class="btn_submit">
</form>
$stx를
$keyword = explode(',', $stx);
로 바꾸고 $keyword를 대신 넣어보았는데도 안되네요.
고수님들의 조언 부탁드립니다. ^^;
!-->!-->!-->답변 2
<option value="it_name" <?php echo get_selected($sfl, 'it_name'); ?>>상품명</option>
<option value="it_sell_email" <?php echo get_selected($sfl, 'it_sell_email'); ?>>쇼핑몰 관리코드
<option value="it_id" <?php echo get_selected($sfl, 'it_id'); ?>>상품코드</option>
<option value="it_maker" <?php echo get_selected($sfl, 'it_maker'); ?>>제조사</option>
<option value="it_origin" <?php echo get_selected($sfl, 'it_origin'); ?>>원산지</option>
이걸 이러게 하지말고
<input type="checkbox" name=" "> 이런 식으로 변경
근데 구찬 자나요
그러니까 걍
커리문에 다넣어요 걍 그러면
if ($stx != "") {
if ($sfl != "") {
$sql_search .= " $where $sfl like '%$stx%' ";
$where = " and ";
}
if ($save_stx != $stx)
09
$page = 1;
10
}
필요없는거죠 ㅋ
$sql_search .= " $where (a.ca_id like '$sca%' or a.ca_id2 like '$sca%' or a.ca_id3 like '$sca%') ";
이분분을 걍 다 만들어주면 되죠 위조건 5개를
그리고 걍 아시다시피 explode 으로 다 넣어주면 되죠
간단이 설명 하자면 sfl 를 사용 하지말고
걍 커리문에 다가 직접 다 넣어줘요