맛집 여행 캠핑 일상 생활

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
CentOS 7.x SSH 포트 변경 스크립트  (0) 2016.04.04
CentOS 7.x VPN 서버 설정하기  (0) 2016.04.02
CentOS 6.x 호스트네임 변경하기  (0) 2016.04.02
Trackback : | Comments :