메뉴 건너뛰기

프로그램언어

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

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved