쿼리 질문 입니다.

쿼리 질문 입니다.

QA

쿼리 질문 입니다.

본문

검색 할 때 검색된 단어를 가지고 {$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 검색을 해봐야 정상적으로 처리가 안될것이라서요

전체컬럼이라는 전제하에 러프한 로직을 구현해봤습니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 224
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT