쿼리 질문 입니다.
본문
검색 할 때 검색된 단어를 가지고 {$g5['member_table']} 테이블에 있는 전체 컬럼을 대상으로
검색하고자 합니다.
쿼리가 어떻게 될까요?
답변 2
1. 검색어를 변수에 담는다
2. member테이블의 1개 Row를 가져온다
3. 검색의 where 에 대한 부분을 or조건으로 만들어야 하는데
foreach로 key 값을 추출하여
컬럼 like 검색어 형태로 where 의 or조건 검색어를 만든다
4. sql문을 확인 / (테스트) / 실행
---------------------
$search = $_REQUEST['search']; // 검색어
$sql = "select * from {$g5['member_table']} limit 1";
$row = sql_fetch($sql);
$where = " where 1=1 and ( ";
$chk = 0;
foreach($row as $key => $v) {
if ($chk) $where .= " or ";
$where .= " {$key} like '%{$search}%' ";
$chk++;
}
$where .= " ) ";
$searchsql = "select * from {$g5['member_table']} {$where} ";
$result = sql_query($searchsql);
while ($rows = sql_fetch_array($result)) {
// 검색결과 처리내용
}
이렇게 하면 되지 않을까 싶습니다만
중간에 쿼리 점검을 해보실필요는 있습니다.
왜냐면.. int값이나 float 형의 컬럼에 like 검색을 해봐야 정상적으로 처리가 안될것이라서요
전체컬럼이라는 전제하에 러프한 로직을 구현해봤습니다.
!-->와 ..감사합니다 플래토님 짱입니다^^
늘 도움 주셔서..
답변을 작성하시기 전에 로그인 해주세요.