2013-10-15 2 views
0

웹 사이트가로드되면 json 데이터 배열 (최대 200 개)을 반환하는 PHP 스크립트에 대해 하나의 아약스 호출을 수행하고 싶습니다. 그것을 lawnchair에서 저장하십시오. http://brian.io/lawnchair/lawnchair에서 JSON에 해당하는 WHERE LIKE "% string %"검색 수행 방법

PHP/MySQL이 ajax 요청에 응답 할 때마다 기다릴 필요가 없도록 데이터를 미리로드합니다. 입력하는 동안 값을 반환하는 자동 완성 필드가 필요합니다. 결과는 lawnchair에서 유래하므로 더 이상 MySQL 서버를 호출하지 않습니다.

:

그래서 우리는이 데이터 집합을 고려 사용자가 "p"를 입력하면 위의 모든 내용이 표시되어야합니다. 사용자가 "app"를 입력하면 Apple과 Pineapple 만 표시됩니다.

따라서 "% 문자열 %"와 같은 MySQL 코드가있는 데이터 세트를 검색해야합니다. 브라이언 웹 사이트 웹 사이트를 살펴 보았지만 검색어와 일치하는 검색어 만 검색 할 수 있습니까? 참조 : http://brian.io/lawnchair/plugins/

올바른 방향으로 어떤 힌트를 주셔서 감사드립니다.

답변

1

제 (상대적으로 가난한) 문서에서 순간적는 다음 작업 것이라고 제안 :

var hits = [], 
    searchExpr = RegExp.escape(searchValue); 

fruitStorage.where('/' + searchExpr + '/i.test(record.name)', function (record) { 
    hits.push(record); 
}); 

// now do something with hits 

소스 코드에 깊게 보지 않고,이뿐만 아니라 작동 할 수 있습니다.

var hits = [], 
    searchExpr = new RegExp(RegExp.escape(searchValue), "i"); 

fruitStorage.where(
    function (record) { return searchExpr.test(record.name); }, 
    function (record) { hits.push(record); } 
); 

BTW, RegExp.escape()this answer에서 가져옵니다.

+0

답장을 보내 주셔서 감사합니다. 나는 이것을 시험 할 것이다! – DelphiLynx

+0

@DelphiLynx 그리고 ...? 작동합니까? (나는 그것을 시험하지 않았다는 것을 인정해야한다.) – Tomalak