hq金水

愿你是阳光,明媚不忧伤~
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

案例: 多条件查询

Posted on 2016-06-16 16:12  hq金水  阅读(193)  评论(0编辑  收藏  举报

1、小知识

此错误代表 sql语句出错

 处理页面可以是新建的或是本页面,如果是本页面:注意刷新后的页面显示。考虑如何实现它,可以加个if语句限制。

2、条件查询的一般步骤:

//分条件
$tj1
=" 1=1"; $tj2=" 1=1";//查所有的内容


//条件内容
if
(!empty($_POST["zhi"]))//判断有没有进行获取操作,如果没有执行获取操作,那么页面一跳转就显示所有记录,如果有执行下面语句 { $zhi=$_POST["zhi"]; $brand=$_POST["brand"]; if($zhi!="") { //模糊查询-关键字查询 $tj1=" Name like '%{$zhi}%'"; } if($brand!="") { $tj2=" brand='$brand'"; } }
//总条件  
$tj=" where".$tj1." and".$tj2;  

 

 

案例:

封装类页面:

<?php
header("content-type:text/html;charset=utf-8");
class DBDA
{
    public $host="localhost";
    public $uid="root";
    public $pwd="123";
    public $dbconnect;
    
    function query($sql,$type=1,$dbname="test")
    {    
        $this->dbconnect=new MySQLi($this->host,$this->uid,$this->pwd,$dbname);
        if(!mysqli_connect_error())
        {
            $result=$this->dbconnect->query($sql);
            if($type==1)
            {
                $attr=$result->fetch_all();
                return $attr;
            }
            else
            {
                return $result;
            }
        }
        else
        {
            echo "连接失败";
        }
    }
}

主页面:

<body>
<h1 align="center">查询页面</h1>
<form action="chaxun.php" method="post">
汽车名称:<input type="text"  name="zhi"/>
<br />
系列号:&nbsp;<input type="text"  name="brand"/>
<input type="submit"  value="查询"/>
</form>
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#000000">
<tr>
<th bgcolor="#FFFFFF">序号</th>
<th bgcolor="#FFFFFF">名称</th>
<th bgcolor="#FFFFFF">系列</th>
<th bgcolor="#FFFFFF">日期</th>
<th bgcolor="#FFFFFF">油耗</th>
<th bgcolor="#FFFFFF">码力</th>
<th bgcolor="#FFFFFF">行程</th>
<th bgcolor="#FFFFFF">价格</th>
<th bgcolor="#FFFFFF">pic</th>
</tr>
<br />
<?php
//处理页面是本页面,页面一跳转过来就显示主页面
//$zhi=$_POST["zhi"];
$tj1=" 1=1";
$tj2=" 1=1";//查所有的内容
if(!empty($_POST))//判断有没有进行获取操作,如果没有执行获取操作,那么页面一跳转就显示所有记录,如果有执行下面语句
{    
    $zhi=$_POST["zhi"];
    $brand=$_POST["brand"];
    if($zhi!="")
    {    
        //模糊查询-关键字查询
        $tj1=" Name like '%{$zhi}%'";
    }
    if($brand!="")
    {    
        $tj2=" brand='$brand'";
    }    
}
$tj=" where".$tj1." and".$tj2;
//查询如果不输入条件,默认显示主页面
include "DBDA.class.php";
$car=new DBDA();
$sql="select * from car".$tj;//全局变量对应于全局变量
var_dump($sql);
$a=$car->query($sql,1);
foreach($a as $v)
{
echo "<tr>
<td bgcolor='#FFFFFF' align='center'>{$v[0]}</td>
<td bgcolor='#FFFFFF' align='center'>{$v[1]}</td>
<td bgcolor='#FFFFFF' align='center'>{$v[2]}</td>
<td bgcolor='#FFFFFF' align='center'>{$v[3]}</td>
<td bgcolor='#FFFFFF' align='center'>{$v[4]}</td>
<td bgcolor='#FFFFFF' align='center'>{$v[5]}</td>
<td bgcolor='#FFFFFF' align='center'>{$v[6]}</td>
<td bgcolor='#FFFFFF' align='center'>{$v[7]}</td>
<td bgcolor='#FFFFFF' align='center'>{$v[8]}</td>
</tr>";
}
?>
</table>
</body>