2017-04-11 3 views
0

우리가 쓰는 동시에 데이터베이스에서 어떻게 결과를 가져 옵니까?내가 writting하는 동안 데이터베이스에서 결과를 가져 오는 방법?

이름 필드에 Ja을 입력하면 선택 상자가 시작되어 데이터베이스에서 시작되는 모든 이름을 가져옵니다.

처럼 :

James 
Jay 
Jared 

하고는 나는 한 번 더 Jam 같은 문자와 모든 이름은 James를 떠나 사라를 입력합니다.

이 프로세스의 이름은 무엇이며 어떻게 처리합니까? PHP 만 사용 (PDO), Java/jQuery도 사용해야합니까?

+1

이것은 단지 드롭 다운, 자동 완성 필드입니다. 이것은 일반적으로 AJAX로 수행됩니다. [jQuery] (http://jquery.com)에는이를 수행 할 수있는 여러 가지 방법이 있습니다. – tadman

+0

예 : 입력 [type = text]에 텍스트를 입력하면 jQuery는 json으로 결과를 반환하는 데이터베이스 요청 스크립트로 데이터를 보내고 jquery는 입력 바로 아래의 줄에 데이터를 넣습니다. -들. – Bernhard

+0

답장을 보내 주셔서 감사합니다. 도움을 많이받은 동영상을 검색하여 찾았습니다. https://www.youtube.com/watch?v=_AqM9U3mi9A – Andre

답변

0

빌드하려는 기능을 자동 완성이라고합니다.

입력란에 입력 된 문자열을 입력하고 데이터베이스 테이블에서 SQL 'LIKE'쿼리를 실행하고 반환하는 PHP 스크립트 (순수 PHP 기반 웹 응용 프로그램을 작성한다고 가정)를 작성해야합니다 일치하는 결과 목록

모든 키 입력 이벤트가있는 사용자 인터페이스에서 앞서 언급 한 PHP 스크립트를 호출하고 이름 목록을 가져 오는 ajax 호출을 작성해야합니다. 이제 해당 목록을 드롭 다운으로 표시하거나 jQuery UI에이 구성 요소를 작성할 많은 플러그인이 있습니다.

참고 : 테이블에 수천 개의 행이 있으면 문자열을 자동 완성하는 데 LIKE 쿼리를 사용하면 비용이 많이 올 수 있습니다. 여기에도 성능 문제가있는 경우 Apache Solr 또는 Elasticsearch를 살펴보고 데이터를 색인화하고보다 정교한 자동 완성 결과를 제공하십시오. 이 경우 데이터베이스 대신 이러한 엔진을 쿼리하고 결과를 얻어야합니다.

그러나 대용량 데이터를 처리하지 않는 경우에도 LIKE 쿼리로 작업 할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 다음 동영상에서 많은 도움을 얻었습니다. https://www.youtube.com/watch?v=_AqM9U3mi9A – Andre