我正在尝试使用多个复选框创建搜索功能。问题是,我的客户随机要求提供不同类别的清单。例如,他会要求列出有家属的员工名单,有时候还会列出30岁以上的员工名单,有时甚至包括两名员工。名单继续,重点是他可以向我提供任何类别的名单。我想知道如何使用复选框和sql命令来实现此目的?先谢谢你。对不起,我可怜的英语btw。复杂搜索功能SQL
回答
您可以为每个不同的复选框分配一个特定的语句,并使用一个表单来发布每个单独的框。此外,如果所有查询都在同一个表中运行,则可以添加固定语句并动态分配值。下面的代码是如何完成的一个简短例子。
$checkbox = "Name,Age" $checkbox2 = "category2" $query ="SELECT".$checkbox ."FROM TableName WHERE Category=".$checkbox2;
,这将给出为
"$query = SELECT Name,Age FROM TableName WHERE Category=category2
我假设你是问如何建立你的地方陈述了从复选框输入的最后声明。
如果你有一个这样的形式:
<form method="POST">
<input type="checkbox" name="test">
<input type="checkbox" name="test2">
<input type="checkbox" name="test3">
<input type="submit" name="submit">
</form>
你可以建立这样的查询:
if(isset($_POST['submit'])){
$queryParams = array();
if(isset($_POST['test'])){
$queryParams[] = 'column1 = "test"';
}
if(isset($_POST['test2'])){
$queryParams[] = 'column2 = "test2"';
}
if(isset($_POST['test3'])){
$queryParams[] = 'column3 = "test3"';
}
$where = (count($queryParams) > 0) ? 'WHERE ' . implode(' AND ', $queryParams) : '';
$query = 'SELECT column FROM table ' . $where;
echo $query;
}
结果:
SELECT column FROM table WHERE column1 = "test" AND column2 = "test2"
一个很好的答案,但我认为这是违背SO的精神做出如此广泛的假设。 – Strawberry
@strawberry,你能帮我解决我的问题吗?非常感谢你。 –
你能提供一个你想要做的事情的小例子吗? – Philipp
- 1. Jqgrid复杂搜索
- 2. SQL for oledbDataAdapter搜索功能
- 3. 搜索功能,SQL Server
- 4. 复杂搜索的SQL语法
- 5. 复杂的搜索SQL查询
- 6. 复杂性和搜索
- 7. YouTube API和复杂搜索
- 8. 复杂的搜索设计
- 9. 复杂搜索查询JPA
- 10. Lucene复杂结构搜索
- 11. 解析PFRelation复杂搜索
- 12. 复杂的搜索问题
- 13. 复杂custom_field搜索与meta_query
- 14. 搜索功能
- 15. 搜索功能
- 16. 搜索功能
- 17. 搜索功能
- 18. 搜索功能
- 19. 搜索功能
- 20. 星火SQL窗口功能向前看,复杂的功能
- 21. 搜索功能复制数据vb.net
- 22. 复杂全文搜索使用PlayFramework搜索/ Hibernate搜索
- 23. SQL搜索和比较功能
- 24. SQL搜索功能,通过外观列
- 25. ASP.NET - 实现搜索功能和SQL
- 26. SQL搜索功能问题,LIKE和MATCH
- 27. 关系复杂功能NHibernate
- 28. OpenOffice Calc复杂功能
- 29. 使用SQL搜索时更高级的搜索引擎功能
- 30. jQuery搜索功能
欢迎的话,请取几分钟检查[如何问](http://stackoverflow.com/help/how-to-ask)。 – Blank