Php 高级搜索表单?

Php 高级搜索表单?,php,search,Php,Search,我的应用程序有一个高级搜索表单,它使用Ajax/PHP查询数据库。我的表单字段如下:Name、ID、Level、Class 如果用户输入Level和class,它将显示具有相同级别和班级的所有学生 现在我想改进它,允许用户在和/或之间进行选择,例如,他希望搜索具有相同姓名但在a级或a级的学生 select * from table where name like name AND (level == level OR class == class) 实现这一目标的最佳方式是什么?是否有任何技术

我的应用程序有一个高级搜索表单,它使用Ajax/PHP查询数据库。我的表单字段如下:
Name
ID
Level
Class

如果用户输入
Level
class
,它将显示具有相同级别和班级的所有学生

现在我想改进它,允许用户在和/或之间进行选择,例如,他希望搜索具有相同姓名但在a级或a级的学生

select * from table where name like name AND (level == level OR class == class)

实现这一目标的最佳方式是什么?是否有任何技术或类似于Solr和Hibernate搜索的东西?

您可以使用多个复选框来优化搜索

<input name="Level" type="checkbox" value="Level-Value" />
<input name="Class" type="checkbox" value="Class-Value" />

Javasctipt与查询数据库无关。如果有什么不同的话,你的javascript只会触发对数据库的查询。也就是说,你的问题是以当前的形式得到答案的最广泛的方式。您没有提到任何关于服务器端技术的内容,如果您谈论的是数据库,这一点非常重要……我认为这不是一个JavaScript问题(除非是关于node.js的)。由于您的数据库位于服务器上,您可能已经在使用服务器上的某些东西与之通信了?因此,您应该将查询作为字符串发送到服务器,并在服务器端对其进行解析。将某些内容描述为“高级”也不会给我们提供多少提示,说明您到底想要实现什么。请看一看您到底在问什么,并尝试以一种让我们更容易提供帮助的方式对其进行表述:)有不同类型的jquery搜索插件,具体取决于您希望如何实现这一点。可以肯定的是,您需要使用ajax。
if($check1=='Level' && !$check2=='Class'){//result for level only
select * from table where name like name AND level == level AND class !== class
}
elseif(!$check1=='Level' && $check2=='Class'){//result for class only
select * from table where name like name AND level !== level AND class == class
}
elseif($check1=='Level' && $check2=='Class'){//result for level and class
select * from table where name like name AND level == level AND class == class
}