首先是查询所有,步骤不详述,连接数据库,查询表中的所有信息,foreach循环以表格的形式打印出来

然后就是form表单中提交查询的数据,这里以post方式提交到本页面,所以要判断post中是否有值,在判断post中的值是否为空字符串(这两种情况都默认用户没有输入,查询所有)默认规则:一般来说做查询的时候:用户不输入任何内容就是查询所有的

然后最重要的是拼接查询条件

关键代码:

$tj1 = " 1=1";
$tj2 = " 1=1";
$name = "";
 
if(!empty($_POST)){
    if($_POST["name"] != ""){
        $name = $_POST["name"];
        $tj1 = " name like '%{$name}%'";
    }
    if($_POST["brand"] != ""){
        $tj2 = " brand = '{$_POST['brand']}'";
    }
}
$tj = " where ".$tj1." and ".$tj2;
$sql = "select * from car ".$tj;
 
 
 
 
 
 
完整实例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
 
<body>
<h1>查询系统</h1>
<Form action="danchaxun.php" method="post">
请输入汽车名称:
<input type="text" name = "name" />
请输入汽车系列:
<input type="text" name = "brand" />
<input type="submit" value="查询" />
</Form>
 
<table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr>
    <td>代号</td>
    <td>名字</td>
    <td>系列</td>
    <td>出厂时间</td>
    <td>油耗</td>
    <td>功率</td>
</tr>
 
<?php
include ("DBDA.class.php");
 
$db = new DBDA();
 
$tj1 = " 1=1";
$tj2 = " 1=1";
$name = "";
 
if(!empty($_POST)){
    if($_POST["name"] != ""){
        $name = $_POST["name"];
        $tj1 = " name like '%{$name}%'";
    }
    if($_POST["brand"] != ""){
 
        $tj2 = " brand = '{$_POST['brand']}'";
    }
}
$tj = " where ".$tj1." and ".$tj2;
 
$sql = "select * from car ".$tj;
 
$attr = $db->Query($sql);
 
foreach($attr as $v){
    echo "
        <tr>
    <td>{$v[0]}</td>
    <td>{$v[1]}</td>
    <td>{$v[2]}</td>
    <td>{$v[3]}</td>
    <td>{$v[4]}</td>
    <td>{$v[5]}</td>
</tr>
    ";
}
?>
</table>
</body>
</html>

php中的多条件查询的更多相关文章

  1. SQL 中的多条件查询

    在应用程序开发中,多条件查询是个经常遇到的情况,最简单最麻烦的方法是把所有的可能情况都考虑到,但是无疑是繁琐的,而且很容易漏掉可能的情形,下面是SQL语句实现多条件查询的情况 select * fro ...

  2. java web中的多条件查询

    转自:http://blog.csdn.net/xulu_258/article/details/46623317 所谓多条件查询即为用户输入想要查询的条件,然后根据用户输入的条件进行查询. 当用户有 ...

  3. Hibernate多对多关联映射的HQL中的in条件查询问题

    群里有朋友求解一个问题,高分求一条HQL多对多查询语句 . 问题描述见 http://topic.csdn.net/u/20090621/16/4eac6fe0-bf3e-422e-a697-f758 ...

  4. java中mongo的条件查询

    @Override public Page<ProductInfo> findAll(Pageable pageable, ProductInfo productInfo) { //创建一 ...

  5. 用Set中元素做条件查询

    一个老师教许多学生,一个学生被许多老师教,一个学生有好多书,同一种书被许多同学拥有.查询教拥有书"a"的学生的老师:   class teacher{   String id;   ...

  6. Mybatis中的复合条件查询

    1.Map中根据字段名存儲: 定义接口:List<Student> selectByCondition1(Map<String,Object> map); 映射文件: < ...

  7. asp.net(c#)中如何在前端用js写条件查询,且不用调用存储过程

    前端页面(源): <dx:ASPxButton ID="ASPxButton_Select" runat="server" Text="查询&q ...

  8. ThinkPHP中 按条件查询后列表显示

    最近在项目中遇到了需要根据下拉框的条件筛选出符合条件的数据,然后进行列表显示的问题. 在ThinkPHP中进行列表显示的传统过程:通过在后台控制器中查询出数据,然后通过$this->assign ...

  9. MyBatis中动态SQL语句完成多条件查询

    一看这标题,我都感觉到是mybatis在动态SQL语句中的多条件查询是多么的强大,不仅让我们用SQL语句完成了对数据库的操作:还通过一些条件选择语句让我们SQL的多条件.动态查询更加容易.简洁.直观. ...

随机推荐

  1. SQL 四种连接查询(内连接、左连接、右连接、全连接)

    下面列出了您可以使用的 JOIN 类型,以及它们之间的差异. (1)     JOIN: 如果表中有至少一个匹配,则返回行(inner join) (2)     LEFT JOIN: 即使右表中没有 ...

  2. session统计在线人数

    /* * 当不涉及验证码的时候 */ //统计游客(未登录)人数 $map = array('session_expire'=>array('gt',NOW_TIME),'session_dat ...

  3. noip普及组2007 Hanoi双塔问题

    Hanoi双塔问题 描述 给定A,B,C三根足够长的细柱,在A柱上放有2n个中间有孔的圆盘,共有n个不同的尺寸,每个尺寸都有两个相同的圆盘,注意这两个圆盘是不加区分的.现要将这些圆盘移到C柱上,在移动 ...

  4. 【Tomcat】batch获得war包

    功能: 将maven项目打包复制到tomcat/webapps set git=C:\Users\zhengwenqiang\git set tomcat=e:\tomcat7.0.64 c: cd ...

  5. Xcode修改包名(含cocopods)

    由于需要现在要更改包名,但是在网上找了N多资料都比较老,16年的资料却是残缺不全,尤其 ios10 出了 .entitlement  的机制 ,很多琐碎的小细节 很容易忘记.所以我自己总结了一篇. 注 ...

  6. java 5年规划---

    偶然看到别人,觉得写的很好,尤其对刚出来工作的人,不一定是最好,但至少可以给你一个方向,所以就把这篇文章放到自己博客来,时刻提醒自己 第一部分 在搭建SSM的过程中,可能会经常接触到一个叫maven的 ...

  7. redi安装

    借鉴文章:https://segmentfault.com/a/1190000010709337 在linux中使用wget时,若报-bash: wget: command not found,则表明 ...

  8. HashMap和ConcurrentHashMap流程图

    本文表达HashMap和ConcurrentHashMap中的put()方法的执行流程图,基于JDK1.8的源码执行过程. HashMap的put()方法: ConcurrentHashMap的put ...

  9. 谈谈分布式版本管理工具Git

    一.主流的版本管理工具 目前在企业中比较主流的版本管理工具有:GIT.SVN.CVS等等. 二.什么是Git? Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.是 L ...

  10. quartz.net使用(通过配置文件进行配置)

    在项目Nuget包管理器中搜索:quartz,安装完成之后再项目中引用即可 先定义一个Job,需要实现IJob接口: public class TestJob : IJob { public void ...