메뉴 건너뛰기

프로그램언어

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
번호 제목 날짜 조회 수
80 PHP eregi가 빠를까, strpos가 빠를까? 2018.10.27 4091
79 php date 날짜 관련 함수 file 2021.03.27 411
78 PHP continue 문 file 2015.04.14 21097
77 PHP - 공공 DATA XML 파싱(PHP 버전) 2023.01.12 269
76 PHP + 유튜브(youtube) 동영상 업로드 연동 소스 2021.01.21 1141
75 PHP $_SERVER 함수 2019.02.25 1558
74 PEAR DB 관련 함수들 2021.03.26 690
73 parse_ini_file — Parse a configuration file 2016.12.23 19774
72 MySQL테이블의 내용을 엑셀파일(xls)로 다운로드 하기 2018.07.24 4798
71 mysql_result — 결과 데이터를 반환 2016.12.23 18967
70 mysql_real_escape_string 이진 데이터를 입력할 경우 이 함수를 사용해야 함 2016.12.23 18640
69 mysql_insert_id 2016.12.23 18750
68 mysql_free_result(); 관련 오류 2021.03.25 288
67 mysql_affected_rows — 최근 MySQL 작업으로 변경된 행 개수를 얻음 2016.12.23 18807
66 MySQL(MariaDB) 테이블 만들기 2018.03.28 8153
65 mysql 에러 구문 표시 2014.02.27 20349
64 MYSQL 업데이트 두 번 하기 2014.02.27 19729
63 MYSQL DB의 모든 테이블에서 문자열 검색 하기 2021.03.26 915
62 MySQL DB 중복여부 검사하여 없는 것만 추가 2015.04.14 20157
61 MYSQL DB 다중접속을 해결 하는 한 방법 2021.03.26 284
Board Pagination Prev 1 ... 8 9 10 11 12 13 14 15 16 17 Next
/ 17

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved