관리자 상품관리 상단에 상품명,상품코드등을 이용한 검색창이 있는데요.
단일키워드(또는 텍스트 및 숫자) 하나가 아닌 콤마 구분을 통해 여러개의 제품을 검색하고 싶습니다.
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개 / 댓글 1개
<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 으로 다 넣어주면 되죠
답변에 대한 댓글 1개
간단이 설명 하자면 sfl 를 사용 하지말고
걍 커리문에 다가 직접 다 넣어줘요
답변을 작성하려면 로그인이 필요합니다.
뭔소린지 모르겠지만 또 한번 도전해봐야겠네요 ㅎㅎ