홈으로 | 무료회원가입 | 아이디/비번찾기
추천음악방송
공백 들어간 DB 데이터 검색
10년 전
예를들어 검색창에 베르나르베르베르 라고 검색을 했다~

하지만 DB 속에는 베르나르 베르베르 라고 저장이 되어있는 자료는 어떻게 검색을 해야할까?

(설마 둘의 차이를 못느끼진 않겠지? -_-ㅋㅋㅋ)



혹은 반대로 검색창에 베르나르 베르베르 라고 검색을 했는데

DB속에는 베르나르베르베르 라고 저장이 되어있다면~?



이것을 해결하는 것은 너무나도 쉽다~! 간단한 함수 하나면 끝~!

일단 전자의 경우 MySQL 쿼리문을 수정해주면 된다. 예를들어



ex)

$keyword = $_POST['keyword']; //넘어오는 값 변수 설정

$keyword = trim($keyword); //앞뒤 공백 제거

$query = "select author from books where author like %$keyword%"; //쿼리문



이런식으로 되어있는 쿼리문에 간단한 함수만 추가하면 된다.

위의 예시에서 3번째줄에 있는 where author를 주목하라~~ 어떻게 바꾸냐면



$query = "select author from books where replace(author, ' ', '') like %$keyword%";



노란줄 부분을 잘 보면 replace 라는 함수를 추가해놓았다. 위 함수는

파라메터를 3개 받는데 repalce(필드명, 바꿔야되는 문자, 바꿀문자) 이렇게 써주면 된다.

위 같은 경우 author라는 필드의 값에 있는 ' '(공백)이 ''(공백없음)으로 바뀐다.

쿼리를 이렇게 해놓으면 replace로 바꿔놓은 필드들의 값은 공백이 사라진다~ ㅎㅎ

검색할때 베르나르베르베를 검색하면 어떻게 띄어쓰기가 되어있던 검색이 된다.



자 그럼 위에 적었던 상황중 2번째 상황~



이것도 마찬가지~ 쉽다 ㅋㅋ 여긴 MySQL 카테고리라고 설정해놨지만...

이건 PHP에서 쓰이는것이다.(위에도 사실 PHP로 코딩한거지만~ㅋㅋ)



ex)

$keyword = $_POST['keyword']; //넘어오는 값 변수 설정

$keyword = trim($keyword); //앞뒤 공백 제거



이부분에서 $keyword 문자열의 공백을 제거하는(trim으로 앞뒤는 제거했지만 문자 사이사이) 함수를 이용해 문자열의 공백을 없애면 된다~! 어떻게 하느냐~ 앞의 replace 랑 비슷하다~~ php라서 다른 이름을 쓰는 것 빼곤 쓰는데는 크게 지장이 없다.(물론 기능도 다르지만 큰 기능은 비슷하므로~)



이렇게 써보자~ str_replace(바뀌는 문자, 바꿀 문자, 문자열) 이름과 순서가 다르다~

이 함수는 문자열의 문자를 바꿔주는 역할을 한다. 아래와 같이 쓴다.



str_replace(' ', '', $keyword); 이렇게 하면 $keyword 속에 있던 공백을 없애준다.

이걸 적용 후 검색창에 베르나르베르베르를 치던 베르나르 베르베르 를 치던

베르 나 르 베 르 베르 를 치던 DB쿼리에는 베르나르베르베르 로 검색이 들어간다. 그럼 앞의 둘의 상황을 조합하면



베르나르베르베르를 어떻게 검색하든 베르나르베르베르 글자가 들어가면 다 나온다
추천추천 : 536 추천 목록
번호 제목
3,025
 윈도우10 시스템파일 손상 (초간단 오류 복구방법!!)
3,024
 PHP 파일 존재 여부 파악하기(로컬 파일 존재 및 원격지 파일 존재)
3,023
 [CSS] 박스 세로 가운데 중앙 정렬 6가지
3,022
 CSS Layout 수평 & 수직 정렬
3,021
 여러 도메인들 간 쿠키 공유하기
3,020
 태그 사이에 있는 텍스트를 추출
3,019
 [JQuery] textbox focus on off일때 숫자 콤마 보여주기
3,018
 쿠키 생성,가져오기,삭제
3,017
 사용자 함수 모음
3,016
 마우스,키보드 제한 ( 오른쪽클릭,드래그,영역선택등..)
3,015
 [HTML5] <video> - DOM으로 제어하기
3,014
 HTML5 video 태그에서 영상 좌우반전
3,013
 PHP - 특정 태그 및 문자열 추출, 제거
3,012
 [PHP] define과 defined의 차이
3,011
 우클릭 완벽차단 스크립트
3,010
 iframe 높이 100% 맞추기
3,009
 curl 함수를 이용한 HTTP REFERER 변경
3,008
 윈도우10 시스템 파일 및 Dism 검사
3,007
 텍스트 줄바꿈, 글자자르기 CSS
3,006
 jQuery Mobile에서 유용한 코드 10가지.
3,005
 [PHP] dirname()함수와 $_SERVER 관련 상수들
3,004
 [PHP] 파일 크기, 사이즈 불러오는 함수, filesize()
3,003
 [jQuery] jQuery Quick API
3,002
 [ transition ] 링크 hover 색상 변화 속도 조절
3,001
 PHP 5.3.0 에서 사라진 함수들 대체
목록
뮤직트로트 부산광역시 부산진구 가야동 ㅣ 개인정보취급방침
Copyright (C) musictrot All rights reserved.