这是我第一次创建搜索过滤器。我记住了“切换语句”。无论用户输入什么关键字,都应该检查switch语句。该switch语句将检查值是否存在于mysql数据库中。如果它存在,那么它将在一个表中显示信息。如果不是,那么它将重定向到“NoResultsFound.html”。到目前为止,这是我的想法。我对么?如果不是,我应该修改什么?如何在php中创建搜索过滤器?
1
A
回答
2
好吧,“关键字”一词有一个特殊的含义,与ArtistName和SongName无关。
因此,从所有字段的子字符串搜索开始。
$search = mysql_real_escape_string($_GET['search']);
$query = "SELECT * FROM table WHERE ArtistName LIKE '%$search%' OR SongName LIKE '%$search%'";
另请注意,在任何地方重定向用户都没有用处。只需保持在同一页面上,在搜索字符串中显示输入值(通过htmlspecialchars()
处理),然后让用户编辑它并进行其他搜索
4
为什么不使用SQL来完成这项工作?
SELECT * FROM wherever WHERE keywords LIKE '%keyword%'
这将返回该行匹配关键字,如果它返回一个空的记录,你可以将其重定向到NoResultsFound.html
。
1
您只需将搜索关键字添加到查询中,然后检查查询是否返回任何结果。 我将把我已经建立了一个简单的数据库连接类(PHP)(here),因为它可以更容易地解释:
$keyword = mysql_real_escape_string($_POST['keyword']);
$db = new Database();
$db->connect(DB_NAME,DB_HOST,DB_USER,DB_PASS);
$query = "SELECT your_field FROM your_table WHERE target_field LIKE '%".$keyword."%'";
$result = getAssocArray($query);
if (!empty($result)) {
// do something if there is at least a match
}
else {
// do something if there is not match
}
$db->disconnect();
让我知道,如果这有助于。
相关问题
- 1. 如何在php中创建搜索过滤器
- 2. 如何使用PHP和MySQL创建搜索“过滤器”
- 3. 如何在Jquery中创建搜索过滤器文本框?
- 4. 如何在wordpress中创建搜索过滤器
- 5. 从xml在php中搜索过滤器
- 6. 如何使用Angular/Express/MongoDB中的过滤器创建搜索?
- 7. 如何在UIsearchbar上创建用于搜索的func过滤器
- 8. 过滤器搜索在Android
- 9. 如何创建过滤器
- 10. PHP Codeigniter高级搜索过滤器
- 11. 使用XPages中的数据网格创建搜索过滤器
- 12. 在woocommerce订单页面上创建客户搜索过滤器
- 13. 如何使用PHP中的过滤器执行搜索?
- 14. 如何在AngularJS中预过滤搜索
- 15. PHP搜索/过滤功能
- 16. php过滤搜索结果
- 17. solr如何实现过滤器搜索
- 18. pingfederate PCV如何搜索过滤器
- 19. 如何做过滤器搜索
- 20. 如何在Redmine中通过过滤器搜索问题
- 21. 在DataGrid中搜索(过滤器)VB.Net
- 22. 在搜索过滤器中使用DN
- 23. 过滤器在NHibernate的列中搜索
- 24. 在QTreeview Pyside中搜索过滤器
- 25. Angularjs过滤器在文本中搜索
- 26. 在Android中实现搜索过滤器
- 27. 在android中的过滤器搜索listView
- 28. 为Android中的微调器创建文本过滤器(如快速搜索)
- 29. PHP搜索CSV文件。搜索过滤器最小字符数
- 30. 如何创建过滤器搜索以从表中的两列中搜索数据?
你不能猜测用户输入,让他们在交换机! 您必须接受用户输入并运行LIKE'%userinput%'查询来查看您是否得到结果。 –
请解释..是'“。$ userinput。”'与%userinput%相同吗? – deepz
猜测您有用于用户输入关键字的POST表单。 <形式方法= “邮报”> \t <输入名称= “关键词” 值= “类型的关键字在这里”/> \t ... 后提交你拿$关键字= mysql_real_escape_string($ _ POST [ '关键字' ]); 然后你做一个查询:“select * from'dbname' where field like'%'。$ keyword。”%'“; –