javascript - 使用 JS 以任意顺序搜索单词

标签 javascript jquery web-sql

我有代码从文本框中搜索键入的单词,获取键入的单词,在 Web sql 数据库中搜索它并在 HTML 页面中显示结果。

这样我就可以使用 LIKE 准确地搜索单词。

(即)

SELECT * FROM tblName WHERE SearchWord LIKE %<typedword>%

如果表中有,

  1. 医生您好
  2. 先生您好
  3. Hello World
  4. 欢迎程序员

用户输入“Hello”,它显示了我

**Hello** Doctor
**Hello** World

即使用户错误地排列单词,我也需要显示结果,

即如果用户输入“World Hello

它没有显示任何结果。 但是,我想向用户展示

Hello World

你能帮我吗?

最佳答案

所以您想要使用输入的每个单词而不是确切的字符串进行 AND 搜索?像这样的怎么样:

var yourSearchText = 'World Hello';
var searchTerms = yourSearchText.split(' ');
var searchTermBits = [];
for(var i=0; i<searchTerms.length;i++) {
        searchTermBits.push("word LIKE %"+searchTerms[i]+"%");
}

var result = searchTermBits.join(" AND ");
var query = 'SELECT * FROM TABLE WHERE '+result;

这将为您提供如下查询:

SELECT * FROM table WHERE word LIKE '%world%' AND word LIKE '%hello%'

如果您想匹配任何搜索词而不是全部搜索词,请将 AND 更改为 OR。

关于javascript - 使用 JS 以任意顺序搜索单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22295205/

相关文章:

javascript - 在 Javascript 中向当前时间添加一分钟

javascript - 如果已经选择了值,如何让 JS 选择不同的值?

javascript - WordPress & suggest.js - Ajax 查询收到 200 响应但内容为空

javascript - 手动滚动到 id 时更改 url,甚至滚动到顶部?

javascript - 如何在 Web SQL 数据库中插入多行?

javascript - 获取Controller的返回值给javascript

javascript - 替换 ul 中 <li> 标记中的文本

javascript - 点击overlay div播放youtube视频

php - 如何从WebSql数据库以及服务器数据库中删除记录

sqlite - WebSQL 是否支持主键?