PHP组合查询多条件查询实例代码

  作者:bea

先向大家说明需求:按照我们系统的要求,我们将通过部门名称、员工姓名、PC名称、IP地址等等字段来进行组合查询从而得到想要的数据结果。那么,为了简单起见,我们用两个条件(部门名称、员工姓名)的组合查询来向大家说明这一技术技巧。当我们只输入部门名而员工姓名为空值时,那么部门内所有员工信息将被呈现,只有当你同时限制部门与员工姓名时,才能查询出唯一信息。 那就让我们开始。 首先建立查询页面search.php,不同于上次单一条件查询,这次我们需要两个条件的组合进行查询。 <ht
   先向大家说明需求:按照我们系统的要求,我们将通过部门名称、员工姓名、PC名称、IP地址等等字段来进行组合查询从而得到想要的数据结果。那么,为了简单起见,我们用两个条件(部门名称、员工姓名)的组合查询来向大家说明这一技术技巧。当我们只输入部门名而员工姓名为空值时,那么部门内所有员工信息将被呈现,只有当你同时限制部门与员工姓名时,才能查询出唯一信息。     那就让我们开始。     首先建立查询页面search.php,不同于上次单一条件查询,这次我们需要两个条件的组合进行查询。 <html> <body> <h3>查询</h3> <form action="search_result.php" method="POST"> 部门名称:<input type="text" size=25 name="depart" value=""> <br><br> 员工姓名: <input type="text" size=25 name="ename" value=""> <br><br> <input type="submit" name="提交" value="提交"> </form> </body> </html>     和上次一样,我们将depart与ename的值通过Post的方法传递给search_result.php文件。     然后便到了这次主题的关键,search_result.php文件如何接受这两个参数值,并判断当其中一个字段为空值时,如何将其排除查询条件。     怎么理解上面这句话,举例子来说,如果我们单纯地将接收参数的查询语句写成 select * from info where depart='部门值参数'  and ename='员工姓名参数' 的话,那么如果其中一个参数为空时我们就将得到 select * from info where depart='技术部' and ename='' ,显然,这样的查询很有可能返回空的结果,因为这句查询语句的意思就是,查询所有技术部没有姓名的人的数据,这不是很荒唐么,倒过来如果是 select * from info where depart='' and ename='sunec' ,那么它的意思就是查询员工姓名为sunec但是不属于任何部门的人,那自然也是查询不到结果的。     正确的做法应该是,在查询语句中过滤掉那个为空值的的参数。比如,当我们只输入部门名时应该得到 select * from info where depart='技术部' 。这样,查询语句的意思就变成查询所有部门为技术部员工的信息了,这就是我们想要的。     明确了思路,那么,下一次我们就去实现它!

1
2
下一页
阅读全文



有用  |  无用

猜你喜欢