我有代码从文本框中搜索键入的单词,获取输入的单词,在Web sql数据库中搜索并在HTML页面中显示结果。
我可以使用 LIKE 完全按原样搜索单词。
(即)
SELECT * FROM tblName WHERE SearchWord LIKE %<typedword>%
如果表格有,
用户输入“ Hello ”,它会显示
**Hello** Doctor
**Hello** World
即使用户错误地排列了单词
,我也需要显示结果即如果用户输入“ World Hello ”
没有显示任何结果。 但是,我想向用户展示
Hello World
你能帮帮我吗?
答案 0 :(得分:1)
所以你想要使用输入的每个单词进行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。