栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在大型数据库中使用typeahead.js

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在大型数据库中使用typeahead.js

由于没有人回答,因此我将继续我的建议。

我觉得你的大数据库最适合使用

remote
typeahead.js
。快速示例:

$('#user-search').typeahead({    name: 'user-search',    remote: '/search.php?query=%QUERY' // you can change anything but %QUERY});

它的作用是当您在中键入字符时,

input#user-search
它将向页面发送AJAX请求,并将
search.php
查询作为输入内容。

在上,

search.php
您可以捕获此查询并在您的数据库中查找它:

$query = $_GET['query'].'%'; // add % for LIKE query later// do query$stmt = $dbh->prepare('SELECt username FROM users WHERe username LIKE = :query');$stmt->bindParam(':query', $query, PDO::PARAM_STR);$stmt->execute();// populate results$results = array();foreach ($stmt->fetchAll(PDO::FETCH_COLUMN) as $row) {    $results[] = $row;}// and return to typeaheadreturn json_enpre($results);

当然,由于您的数据库很大,因此您应该优化SQL查询以加快查询速度,也许可以缓存结果,等等。

在预输入方面,要减少查询数据库的负载,可以指定

minLength
limit

$('#user-search').typeahead({    name: 'user-search',    remote: '/search.php?query=%QUERY',    minLength: 3, // send AJAX request only after user type in at least 3 characters    limit: 10 // limit to show only 10 results});

因此,数据库的大小实际上并不重要,这种方法应该可以很好地工作。

这是PHP中的一个示例,但是对于任何后端,当然都应该相同。希望你得到基本的想法。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/409950.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号