网络编程 
首页 > 网络编程 > 浏览文章

PHP组合查询多条件查询实例代码第1/2页

(编辑:jimmy 日期: 2024/11/19 浏览:3 次 )

   先向大家说明需求:按照我们系统的要求,我们将通过部门名称、员工姓名、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='技术部' 。这样,查询语句的意思就变成查询所有部门为技术部员工的信息了,这就是我们想要的。

    明确了思路,那么,下一次我们就去实现它!
12下一页阅读全文

上一篇:PHP简单系统查询模块代码打包下载
下一篇:php下通过POST还是GET来传值
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?