PHP ajax 실시간입력 자동검색 매칭방법_php 스킬
May 16, 2016 pm 08:27 PM
ajax
php
성냥
실시간
찾다
방법
오토매틱
입력하다
이 글의 예시에서는 php ajax 실제 입력의 자동 검색 및 매칭 방법을 설명하고 참고용으로 모두와 공유합니다. 구체적인 분석은 다음과 같습니다.
첫 번째 방법은 jquery autocomplete를 사용하고, 두 번째 방법은 jquery ajax를 사용합니다. 사실 둘 다 비슷합니다.
가장 간단한 방법은 아래 예시와 같이 jquery 자동완성 메서드를 직접 사용하는 것입니다.
html의 경우 코드는 다음과 같습니다.
코드 복사 코드는 다음과 같습니다.
<script src="/js/v2/jquery.input_complete. js" type ="text/javascript" ></script>
<link rel="stylesheet" href="/css/v2/jquery.input_complete.css" type="text/css" /> <스크립트 유형="텍스트/자바스크립트"> $(함수(){
$("#abcc").bigAutocomplete({width:176,data:[{title:"부두 세기 타워",결과:"5976898"},{title:"부두 왕의 인장",결과:"5976896 "}, {제목:"Zhoushan Zhujiajian Dongsha Resort",결과:"5976895"},{제목:"Guangsha Tianducheng Jazz Garden",결과:"5976893"},{제목:"Greentown Jade Garden", 결과:"5976892"}, {title:"Jiangnan Minglou",result:"5976890"},{title:"Shimao Jiangbin Garden",result:"14869"}],callback:function(data){
$("#s_loupan").val(data.result)
}})
})
스크립트>
<input type="text" id="abcc" class="sel_quy" autocomplete="off" />
이 글의 목적은 The가 포함된 제목을 t의 첫 글자가 아닌 두 번째 텍스트의 첫 글자로 검색할 수 있도록 하는 것입니다.
<link rel="stylesheet" href="/css/v2/jquery.input_complete.css" type="text/css" /> <스크립트 유형="텍스트/자바스크립트"> $(함수(){
$("#abcc").bigAutocomplete({width:176,data:[{title:"부두 세기 타워",결과:"5976898"},{title:"부두 왕의 인장",결과:"5976896 "}, {제목:"Zhoushan Zhujiajian Dongsha Resort",결과:"5976895"},{제목:"Guangsha Tianducheng Jazz Garden",결과:"5976893"},{제목:"Greentown Jade Garden", 결과:"5976892"}, {title:"Jiangnan Minglou",result:"5976890"},{title:"Shimao Jiangbin Garden",result:"14869"}],callback:function(data){
$("#s_loupan").val(data.result)
}})
})
스크립트>
<input type="text" id="abcc" class="sel_quy" autocomplete="off" />
이 글의 목적은 The가 포함된 제목을 t의 첫 글자가 아닌 두 번째 텍스트의 첫 글자로 검색할 수 있도록 하는 것입니다.
예를 들어 Orbolg는 T를 누르면 표시되지 않고 O를 누르면 표시됩니다. 구현 코드는 다음과 같습니다. 테스트에는 문제가 없습니다. 🎜>
코드 복사 코드는 다음과 같습니다.
코드 복사
공개 함수 gwquery(){
If($_POST){
$zm = $_POST['데이터']
$wzm = $zm."%"
$b = M('Wpindexgw')
If($zm!="t"){//얻은 첫 글자가 t가 아닌 경우
$list1 = $b->where("gwstatus=1 및 gwname like '%$zm%'")->order("time desc")->select();//쿼리
$narr =배열()
foreach( $list1 as $key => $val){ foreach( $list1 as $key => $val){
$ct2 =explod(" ",$val['gwname']);//제목을 가져와서 배열로 분할합니다.
$szm=strtolower(substr($ct2[1],0,1)) //첫 번째 문자를 가져와서 소문자로 지정
If($ct2[0]=="The" && $szm==$zm){//첫 번째 문자가 The이고 두 번째 문자의 첫 글자가 제출된 것과 동일한 경우 여기서는 대소문자를 구분합니다.
$narr[] = $val; //배열에 쓰기
}
}else{ //첫 번째 문자가 T인 경우 첫 번째 단어인 The가 목록에 표시되는 것을 원하지 않습니다.
$list1 = $b->where("gwstatus=1 및 gwname like '$wzm'")->order("time desc")->select()
foreach( $list1 as $key => $val){ foreach( $list1 as $key => $val){
$ct2 = 폭발(" ",$val['gwname'])
If($ct2[0]=="The"){
$unnarr[] = $key;//조건에 맞는 제거할 콘텐츠의 배열 레이블을 가져옵니다.
~ }
}
$list = $b->where("gwstatus=1 및 gwname like '$wzm'")->order("time desc")->select();//일반 쿼리.
If($zm=="t"){//첫 번째 문자가 t일 때 위 쿼리에서 얻은 내용을 제거합니다. 즉 The인 경우 T를 누르면 표시되지 않습니다.
foreach($unnarr는 $uval로){
unset($list[$uval]); ~ }else{//t가 아닌 다른 문자를 누르면 첫 번째 문자가 두 번째 문자와 일치하는 내용을 일반 쿼리 배열에 추가합니다.
If(!emptyempty($narr) && !emptyempty($list)){//The가 있는 조건은 정상이며 비어 있지 않습니다.
$list = array_merge($narr,$list);//배열을 병합합니다.
}else if(emptyempty($list)){//일반 쿼리는 비어 있습니다. 그런 다음 The로 시작하는 항목이 있는지 확인하고
이 있으면 병합합니다. $목록=배열()
$list = array_merge($narr,$list)
}
}
If($목록){
$this->ajaxReturn($list,'성공',1)
}그밖에{
$this->error("베스티어리를 찾을 수 없습니다.")
~ }
}
이전 코드와 비교하면 다음과 같이 차이점이 너무 많습니다.
If($_POST){
$zm = $_POST['데이터']
$wzm = $zm."%"
$b = M('Wpindexgw')
If($zm!="t"){//얻은 첫 글자가 t가 아닌 경우
$list1 = $b->where("gwstatus=1 및 gwname like '%$zm%'")->order("time desc")->select();//쿼리
$narr =배열()
foreach( $list1 as $key => $val){ foreach( $list1 as $key => $val){
$ct2 =explod(" ",$val['gwname']);//제목을 가져와서 배열로 분할합니다.
$szm=strtolower(substr($ct2[1],0,1)) //첫 번째 문자를 가져와서 소문자로 지정
If($ct2[0]=="The" && $szm==$zm){//첫 번째 문자가 The이고 두 번째 문자의 첫 글자가 제출된 것과 동일한 경우 여기서는 대소문자를 구분합니다.
$narr[] = $val; //배열에 쓰기
}
}else{ //첫 번째 문자가 T인 경우 첫 번째 단어인 The가 목록에 표시되는 것을 원하지 않습니다.
$list1 = $b->where("gwstatus=1 및 gwname like '$wzm'")->order("time desc")->select()
foreach( $list1 as $key => $val){ foreach( $list1 as $key => $val){
$ct2 = 폭발(" ",$val['gwname'])
If($ct2[0]=="The"){
$unnarr[] = $key;//조건에 맞는 제거할 콘텐츠의 배열 레이블을 가져옵니다.
~ }
}
$list = $b->where("gwstatus=1 및 gwname like '$wzm'")->order("time desc")->select();//일반 쿼리.
If($zm=="t"){//첫 번째 문자가 t일 때 위 쿼리에서 얻은 내용을 제거합니다. 즉 The인 경우 T를 누르면 표시되지 않습니다.
foreach($unnarr는 $uval로){
unset($list[$uval]); ~ }else{//t가 아닌 다른 문자를 누르면 첫 번째 문자가 두 번째 문자와 일치하는 내용을 일반 쿼리 배열에 추가합니다.
If(!emptyempty($narr) && !emptyempty($list)){//The가 있는 조건은 정상이며 비어 있지 않습니다.
$list = array_merge($narr,$list);//배열을 병합합니다.
}else if(emptyempty($list)){//일반 쿼리는 비어 있습니다. 그런 다음 The로 시작하는 항목이 있는지 확인하고
이 있으면 병합합니다. $목록=배열()
$list = array_merge($narr,$list)
}
}
If($목록){
$this->ajaxReturn($list,'성공',1)
}그밖에{
$this->error("베스티어리를 찾을 수 없습니다.")
~ }
}
이전 코드와 비교하면 다음과 같이 차이점이 너무 많습니다.
코드 복사
코드는 다음과 같습니다. 공용 함수 gwquery1(){//이전에 백업하세요. .
If($_POST){
$zm = $_POST['데이터']
$wzm = $zm."%"
$b = M('Wpindexgw')
$list = $b->where("gwstatus=1 및 gwname like '$wzm'")->order("time desc")->select()
//덤프($list)
If($목록){
$this->ajaxReturn($list,'성공',1)
}그밖에{
$this->error("베스티어리를 찾을 수 없습니다.")
~ }
}
//덤프($list)
If($목록){
$this->ajaxReturn($list,'성공',1)
}그밖에{
$this->error("베스티어리를 찾을 수 없습니다.")
~ }
}
이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

인기 기사
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

인기 기사
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제
Gmail 이메일의 로그인 입구는 어디에 있나요?
7281
9


자바 튜토리얼
1622
14


Cakephp 튜토리얼
1341
46


라라벨 튜토리얼
1258
25


PHP 튜토리얼
1205
29



Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법
