회원아이디 검색 쿼리 질문
본문
현재는 검색을 하면 제목을 인식해서 출력 되는데요.
회원아이디 즉 sfl=mb_id,1&lstx=jamtty 이렇게 주소창에 불러 와서 출력물이 출력 되려면
아래 쿼리를 어떻게 수정해야 될까요 ..
$sql_common = " from {$g5['poll_table']} ";
$sql_search = " where (1) ";
if ($stx) {
$sql_search .= " and ( ";
switch ($sfl) {
default :
$sql_search .= " ({$sfl} like '%{$stx}%') ";
break;
}
$sql_search .= " ) ";
}
if (!$sst) {
$sst = "po_id";
$sod = "desc";
}
$sql_order = " order by {$sst} {$sod} ";
$sql = " select count(*) as cnt
{$sql_common}
{$sql_search}
{$sql_order} ";
$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; // 시작 열을 구함
$sql = " select *
{$sql_common}
{$sql_search}
{$sql_order}
limit {$from_record}, {$rows} ";
$result = sql_query($sql);
답변 2
$sql_search .= " ({$sfl} like '%{$stx}%') ";
를
list($field, $opt) = explode(',', $sfl);
$sql_search .= " ({$field} like '%{$stx}%') ";
와 같이 수정해 보시기 바랍니다.
switch ($sfl) {
default :
$sql_search .= " ({$sfl} like '%{$stx}%') ";
break;
}
를
switch ($sfl) {
case 'mb_id' :
$sql_search .= " ({$sfl} = '{$stx}') ";
break;
default :
$sql_search .= " ({$sfl} like '{$stx}%') ";
break;
}
이렇게 수정해서 해결되었습니다.
감사합니다.
답변을 작성하시기 전에 로그인 해주세요.