如图我们做了一个简单的条件查询:输入汽车名称 系列代号查询显示相应的汽车信息。
思路是这样:我们做两个恒成立的条件 $tiaojian = “ 1=1 ”,在执行SQL语句时附加此2个条件(因为有两个条件查询)select * from car where {$tiaojian1} and {$tiaojian2},如果用户不输入查询条件直接点击查询那么就是查询所有的汽车信息。
如果用户输入查询条件,我们就把输入值用表单提交用把对应的$name/$code 取出来,把相对应的条件修改$tiaojian1= "name like '%{$name}%'",$tiaojian2="brand like'%{$code}%'"
具体代码如下:
<h1>查询数据</h1> <form action="test2.php" method="post"> <div>请输入汽车名称:<input type="text" name="name" /> 请输入系列代号:<input type="text" name="brand" /> <input type="submit" value="查询" /></div> <br /> </form> <table width="100%" border="1" cellpadding="0" cellspacing="0"> <tr> <td>代号</td> <td>名称</td> <td>系列</td> <td>油耗</td> <td>价格</td> </tr> <?php $tj = " 1=1 "; //恒成立的条件 $tj2 = " 1=1 "; //第二个条件 $name = ""; if(!empty($_POST["name"])){ $name = $_POST["name"]; $tj = " name like '%{$name}%' "; } if(!empty($_POST["brand"])){ $brand = $_POST["brand"]; $tj2 = " brand = '{$brand}' "; } $db = new MySQLi("localhost","root","123","ceshi"); $sql = "select * from car where {$tj} and {$tj2}"; //echo $sql; $relsut = $db->query($sql); if($relsut){ $arr = $relsut->fetch_all(); if(empty($arr)){ echo "未查到数据!"; }else{ foreach($arr as $v){ echo "<tr> <td>{$v[0]}</td> <td>{$v[1]}</td> <td>{$v[2]}</td> <td>{$v[4]}</td> <td>{$v[7]}</td> </tr>"; } } } ?> </table>