관리 메뉴

맛집 여행 캠핑 일상 생활

PHP MySQL 초성으로 검색하기 본문

LAMP

PHP MySQL 초성으로 검색하기

♥ 영은파더♥ 2016. 4. 21. 18:45

PHP MySQL 초성으로 검색하기



nick 컬럼에서 첫자리 문자를 초성으로 비교해서 찾아내는 쿼리이다.


사람 이름이라면 상관없는 이야기지만 일반 문자라면


쌍자음이 있는 ㄱ ㄷ ㅂ ㅅ 는 끝자리에 쌍자음을 넣어주어야 제대로 된 결과를 얻을 수 있다.


$searchsql = "select * from tablename where ";

if($f_word == 'ㄱ')

$searchsql .=  " substr(nick,1,1) between '가' and '낗'";

else if($f_word == 'ㄴ')

$searchsql .=  " substr(nick,1,1) between '나' and '닣'";

else if($f_word == 'ㄷ')

$searchsql .=  " substr(nick,1,1) between '다' and '띻'";

else if($f_word == 'ㄹ')

$searchsql .=  " substr(nick,1,1) between '라' and '맇'";

else if($f_word == 'ㅁ')

$searchsql .=  " substr(nick,1,1) between '마' and '밓'";

else if($f_word == 'ㅂ')

$searchsql .=  " substr(nick,1,1) between '바' and '삫'";

else if($f_word == 'ㅅ')

$searchsql .=  " substr(nick,1,1) between '사' and '앃'";

else if($f_word == 'ㅇ')

$searchsql .=  " substr(nick,1,1) between '아' and '잏'";

else if($f_word == 'ㅈ')

$searchsql .=  " substr(nick,1,1) between '자' and '찧'";

else if($f_word == 'ㅊ')

$searchsql .=  " substr(nick,1,1) between '차' and '칳'";

else if($f_word == 'ㅋ')

$searchsql .=  " substr(nick,1,1) between '카' and '킿'";

else if($f_word == 'ㅌ')

$searchsql .=  " substr(nick,1,1) between '타' and '팋'";

else if($f_word == 'ㅍ')

$searchsql .=  " substr(nick,1,1) between '파' and '핗'";

else if($f_word == 'ㅎ')

$searchsql .=  " substr(nick,1,1) between '하' and '힣'";

else {}



여러개의 초성문자를 검색하려면 반복문으로 쿼리문을 만들면 된다.


php 에서 utf-8 문자는 "ㄱ"은 3자리로 나오고 mysql 에서는 1자리임을 유의하면 된다.


첫자리는 substr(nick,1,1)

두번째는 substr(nick,2,1)

세번째는 substr(nick,3,1)


을 비교하면 된다.



'LAMP' 카테고리의 다른 글

MySQL Binary log 지우기  (0) 2016.04.28
리눅스 locale ko_KR 설정하기  (0) 2016.04.23
PHP MySQL 초성으로 검색하기  (0) 2016.04.21
CentOS 7.x SSH 포트 변경 스크립트  (0) 2016.04.04
CentOS 7.x VPN 서버 설정하기  (0) 2016.04.02
CentOS 6.x 호스트네임 변경하기  (0) 2016.04.02
Trackback : 0 | Comments : 0
댓글쓰기 폼