메뉴 건너뛰기

프로그램언어

2015.04.14 19:27

검색어 처리 루틴

조회 수 20778 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

PHP 에서 검색어를 여러개 입력하여 AND 조건이나 OR 조건을 검색해야 하는 경우가 있다.


검색어가 여러개면 보통 이렇게 검색어 처리를 하기 쉽다.

$keystr = explode(" ", $keyword);

$sqlque .= " and (eng LIKE '%".trim($keystr[0])."%')";


if($keystr[1]) {
    $sqlque .= " and (eng LIKE '%".trim($keystr[1])."%')";
}
if($keystr[2]) {
    $sqlque .= " and (eng LIKE '%".trim($keystr[2])."%')";
}
if($keystr[3]) {
    $sqlque .= " and (eng LIKE '%".trim($keystr[3])."%')";
}
if($keystr[4]) {
    $sqlque .= " and (eng LIKE '%".trim($keystr[4])."%')";
}
if($keystr[5]) {
    $sqlque .= " and (eng LIKE '%".trim($keystr[5])."%')";
}


이걸 좀더 깔끔하기 처리하는 방법은 아래처럼 array 와 join 함수를 이용하는 것이다.

$keystr = explode(" ", $keyword);
$exp_query = array();
for ($i = 0; $i < count($keystr) ; $i++) {
    array_push($exp_query, "eng LIKE '%".$keystr[$i]."%'" );
}
if(count($exp_query) > 0){
    $sqlque .= " and ( ";
    $sqlque .= join(" and ", $exp_query);
    $sqlque .= " ) ";
}
echo $sqlque; // 쿼리문이 정상인지 확인


List of Articles
번호 제목 날짜 조회 수
240 폴더에 사진올려놓고 리스트자동으로 만들기 2019.01.08 1302
239 PHP폼 사용시 폼 양식에서 값이 사라질때 2019.01.08 1316
238 애니메이션 gif 와 일반 gif 구분 하기 2019.01.16 1316
237 오늘 날짜 구하기 2019.01.08 1323
236 주간단위 시작일에서 종료일을 셀렉트박스로 만들기. file 2019.04.29 1339
235 utf-8 문자열을 주어진 바이트로 자르기 2019.04.29 1356
234 생성된 파일생성날짜 업데이트 만들기 / filemtime 2019.01.16 1373
233 TIME_TO_SEC 시간 포맷 2019.01.16 1381
232 디비내용을 엑셀 파일로 다운로드 시키는 방법 2019.01.08 1393
231 파일 종류에 따른 아이콘표시하기 함수 2019.01.16 1421
230 php/asp에서 가상번호 부여와 가상번호를 거꾸로 적용 2019.01.08 1429
229 RSS json_decone 사용방법 2019.01.16 1430
228 문자 숫자 중복 데이타 값 삭제 array_unique 함수 2019.01.16 1437
227 PHP 가변변수 $$ file 2019.02.19 1449
226 새창열 때 HTTP_REFERER 값넘기는 꽁수 2019.01.08 1454
225 PHP에서 UTF와 EUC-KR 변환 2019.02.19 1554
224 PHP $_SERVER 함수 2019.02.25 1558
223 내 계정 용량 체크 2019.01.08 1598
222 파일 및 데이타베이스 백업 2019.01.08 1610
221 JAVASCRIPT 차트, 그래프 모음 (php chart, graph ) 2021.03.26 1624
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 17 Next
/ 17

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved