메뉴 건너뛰기

프로그램언어

2015.04.14 19:27

검색어 처리 루틴

조회 수 20780 추천 수 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
번호 제목 날짜 조회 수
280 이미지 땡겨와서 출력하기 2018.09.28 5294
279 유용한 함수 모음 2014.02.27 21428
278 웹페이지 프린트 하기 html 수준 2014.03.26 19807
277 웹페이지 파싱 2023.01.12 236
276 웹에서 Excel 로 출력하기 2014.03.26 20361
275 웹서버조회 소스 2018.07.24 4553
274 오류 메시지 출력(alert) 및 페이지 이동(refresh) 관련 2017.03.06 18574
273 오늘 날짜 구하기 2019.01.08 1329
272 엔터의 표현 2014.02.27 19538
271 엑셀(*.xls) 화일을 PHP에서 읽기 2017.03.06 17489
270 어떤 스마트폰으로 접속했는지 알아내는 소스 , (안드로이드 아이폰 ) 2014.03.26 17720
269 애니메이션 gif 와 일반 gif 구분 하기 2019.01.16 1320
268 알파벳 순서대로 출력하기 ord(), chr() 2021.03.26 587
267 시간관련함수 2016.12.23 17333
266 세션 시작 / 세션 데이터 추가 / 세션 데이터 삭제 / 세션 종료하기 2017.03.07 19113
265 서브도메인 세션 공유 2021.03.26 592
264 생성된 파일생성날짜 업데이트 만들기 / filemtime 2019.01.16 1379
263 새창열 때 HTTP_REFERER 값넘기는 꽁수 2019.01.08 1462
262 상수, 마법상수, 모든 상수 보기 2021.03.26 240
261 사진이 회전되서 올라갈 경우 2020.05.25 779
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 17 Next
/ 17

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved