AJAX Live Search是一种PHP搜索表单,类似于谷歌自动完成功能,可以在键入时显示结果。

Posted

tags:

中文标题:AJAX Live Search是一种PHP搜索表单,类似于谷歌自动完成功能,可以在键入时显示结果。 原文标题:AJAX Live Search is a PHP search form that similar to Google Autocomplete feature displays the result as you type. 项目评级:Star:245      Fork:80 下载地址:https://github.com/iranianpep/ajax-live-search 详情介绍

AJAX实时搜索

***不再维护此项***

我几年前就开始了这个项目,但到目前为止已经改变了很多。此外,由于不同层之间的耦合,以及旧技术(jQuery!),这不是一个可扩展的项目。非常感谢所有的支持,但不幸的是,我不得不归档这个项目:(

AJAX Live Search是一个jQuery插件/PHP搜索表单,它在您键入时搜索并显示结果,类似于谷歌自动完成功能。

演示

看看它在行动中。

浏览器支持

<表格>

即8+

火狐浏览器

歌剧

Safari浏览器

感谢BrowserStack和JetBrains对该项目的支持。

Ajax Live Search入门

使index.php中的当前示例工作,包括创建虚拟数据库和表,所需时间不应超过7分钟。但如果您需要将其集成到现有项目中,则需要花费更多的时间。要实现这一点,假设您有此文本字段:

<input type="text" class='mySearch' id="ls_query" placeholder="Type to start searching ...">

jQuery(“#ls_query”).ajaxlivesearch(

加载时间:,

token:getToken()。"'"; ?>;的情况下;,

最大输入:,

);

```

如果需要,还可以将其他参数发布到服务器。要实现这一点,您应该在搜索输入中添加data属性:

<input type="text" class='mySearch' id="ls_query" placeholder="Type to start searching ..." data-additionalData="hello world!">

例如,在这种情况下,您可以访问PHP中的数据属性,如下所示:

// key is transformed to lowercase $additionalData = $_POST['additionaldata'];

jQuery选项

<表格宽度=“100%”>

名称

类型

必需

描述

加载时间(_A)

整数

这是用来防止机器人进行搜索的

代币

字符串

这是用来防止CSRF攻击的

网址

字符串

默认值:ajax/process_livesearch.php

高速缓存

布尔值

这指的是Ajax请求缓存。默认值:false

表单_文本_文本

字符串

默认值:ajaxlivesearch_guard

滑动速度

字符串

默认值:快速

类型_显示

整数

默认值:350

最大输入

整数

默认值:20

最短行程

整数

开始搜索的最小字符长度。默认值:0

页面范围

阵列

默认值:[0,5,10]

页面范围故障

整数

默认值:5

form_anti_bot_class类

字符串

默认值:ls_anti_bot

页脚类别

字符串

默认值:ls_result_foter

下一页类

字符串

默认值:ls_next_page

先前页面类别

字符串

默认值:ls_previous_page

页面上限

字符串

默认值:page_limit

结果_ rapper_class

字符串

默认值:ls_result_div

结果类别

字符串

默认值:ls_result_main

容器类别

字符串

默认值:ls_container

分页_类

字符串

默认值:分页

表单类别

字符串

默认值:搜索

加载的at_class

字符串

默认值:ls_page_loaded_at

标记类

字符串

默认值:ls_token

当前页面隐藏类

字符串

默认值:ls_current_page

当前页面bl_class

字符串

默认值:ls_current_page_lbl

最后一页bl_class

字符串

默认值:ls_last_page_lbl

总页数

字符串

默认值:ls_last_page_lbl

页面范围类别

字符串

默认值:ls_items_per_page

导航_类别

字符串

默认值:导航

箭头类

字符串

默认值:箭头

自定义事件

<表格宽度=“100%”>

名称

onResult单击

时间>

onResultEnter(结果输入)

onAjax完成

例子:

jQuery(".mySearch").ajaxlivesearch( loaded_at: <?php echo time(); ?>, token: <?php echo "'" . $handler->getToken() . "'"; ?>, max_input: <?php echo Config::getConfig('maxInputLength'); ?>, onResultClick: function(e, data) // get the index 1 (second column) value var selectedOne = jQuery(data.selected).find('td').eq('1').text(); // set the input value jQuery('#ls_query').val(selectedOne); // hide the result jQuery("#ls_query").trigger('ajaxlivesearch:hide_result'); , onResultEnter: function(e, data) // do whatever you want // jQuery("#ls_query").trigger('ajaxlivesearch:search', query: 'test'); , onAjaxComplete: function(e, data) );

自定义触发器

<表格宽度=“100%”>

名称

ajaxlivesearch:隐藏结果

ajaxlivesearch:搜索

PHP配置

<表格宽度=“100%”>

名称

类型

必需

描述

数据源

阵列

每个搜索文本字段的数据源。密钥是指字段HTML id。目前支持MySQL和mongoDB(这是测试版)。

MySQL数据源配置:

<表格宽度=“100%”>

名称

类型

必需

描述

主机

字符串

MySQL数据库主机。它通常是“localhost”

数据库

字符串

MySQL数据库名称

用户名

字符串

MySQL数据库用户名

通行证

字符串

MySQL数据库用户名密码

字符串

实时搜索在其中搜索的MySQL数据库表

搜索列

阵列

实时搜索所搜索的搜索列。它可以是一个或多个。例如数组('column_name_1','column_name _2')

订购人

字符串

列,根据该列对结果进行排序

订单方向

字符串

订单方向:“ASC”或“DESC”表示“orderBy”。默认值:ASC

过滤器结果

阵列

需要在结果中的列。如果为空,则将返回所有列

comparison运算符

字符串

搜索查询比较运算符。比较运算符的可能值为:“LIKE”和“=”

搜索模式

字符串

这用于指定如何搜索查询。可能的值有:“q”,“*q”,‘q*’,‘*q*’

区分大小写

字符串

搜索查询区分大小写

最大结果

整数

这用于限制结果的最大数量

显示标题

阵列

这用于显示或隐藏结果中的标题。如果“活动”设置为true,则显示标题。此外,还可以将列映射到不同的标题

类型

字符串

数据源的类型。目前可能的值是:“mysql”或“mongo”

抗肉毒杆菌

字符串

这是一种安全技术,用于防止那些不使用JavaScript的机器人提交表单。在这种技术中,使用具有该值的jQuery填充隐藏字段。它可以有任何值,但必须与传递给jQuery插件的“form_anti_bot”选项相同。默认情况下,它被设置为“ajaxlivesearch_guard”

搜索开始时间偏移

整数

这是用于对抗机器人的另一种安全技术。一些机器人程序在页面加载完成后立即提交表单。然而,对于人类来说,填补一个领域需要更多的时间。默认情况下,此参数设置为3秒。不建议分配超过3秒的时间

最大输入长度

整数

这指定了搜索字段中字符的最大长度

模板

字符串

这指定位于templates文件夹中的模板名称

常见问题

许可证

麻省理工学院许可证

如果你愿意,请给我买半杯咖啡!

php SearchWP Live Ajax搜索模板,支持用户和分类

实时数据搜索问题,如何通知用户在搜索中更具体

ajax在php中搜索多个表连接

在一个露天项目中将 live-search-docs 配置文件放在哪里?

PHP MySQL & AJAX 搜索过滤器时间延迟

直接链接到 Ajax 搜索结果