일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- OpenWrt
- centos
- 자바스크립트
- 램가스초월
- SKT
- 킹북이초월
- PHP-FPM
- jQuery
- ConoHa
- 윈도우10
- 복현오거리
- mysql
- 알뜰폰
- 티스토리
- 리눅스
- iptime
- php
- KB증권
- 가상서버호스팅
- 스톤에이지
- 소비전력
- Apache
- Rocky
- 라즈베리파이2
- 시놀로지
- proxmox
- 보르비스초월
- 알리익스프레스
- 아파치
- KB국민카드
- Today
- Total
맛집 여행 캠핑 일상 생활
PHP MySQL 초성으로 검색하기 본문
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 |