查询(关键字查询,多条件查询)

一、关键字查询

(1)查询一张表,要把表先列出来,显示出查询的表

 1 <table width="100%" border="1" cellpadding="0" cellspacing="0">
 2 <tr>
 3     <td>代号</td>
 4     <td>名称</td>
 5     <td>系列</td>
 6     <td>上市时间</td>
 7     <td>价格</td>
 8 </tr>
 9 <?php
10 require("../0428/DBDA.class.php");
11 $db = new DBDA();
12 $sql = "select * from car";
13 $name="";
14 if(!empty($_POST["name"]))
15 {
16     $name = $_POST["name"];
17     $sql = "select * from car where name like '%{$name}%' ";
18 }
19 
20 
21 $arr = $db->query($sql);
22 
23 
24 foreach($arr as $v)
25 {
26     
27     echo "<tr>
28     <td>{$v[0]}</td>
29     <td>{$v[1]}</td>
30     <td>{$v[2]}</td>
31     <td>{$v[3]}</td>
32     <td>{$v[7]}</td>
33 </tr>";
34 }
35 
36 ?>
37 </table>

(2)表显示出来后,查询要有输入框和查询按钮

1 <form action="chaxun.php" method="post">
2 <div>名称:<input type="text" name="name"  /> <input type="submit" value="查询" /></div>
3 </form>//这是很具名称查询

(3)重要的是怎么建立关键字查询:

利用模糊查询来查看,模糊查询的关键字就是like(还有就是输入的关键字要特殊显示可以在遍历表中进行)

 1 <?php
 2 require("../0428/DBDA.class.php");
 3 $db = new DBDA();
 4 $sql = "select * from car";
 5 $name="";
 6 if(!empty($_POST["name"]))
 7 {
 8     $name = $_POST["name"];
 9     $sql = "select * from car where name like '%{$name}%' ";
10 }
11 
12 
13 $arr = $db->query($sql);
14 
15 
16 foreach($arr as $v)
17 {
18     
19     echo "<tr>
20     <td>{$v[0]}</td>
21     <td>{$v[1]}</td>
22     <td>{$v[2]}</td>
23     <td>{$v[3]}</td>
24     <td>{$v[7]}</td>
25 </tr>";
26 }
27 
28 ?>

(4)还有就是输入框输入关键字查询后,输入框中的字应该还是显示的

这样就在文本框中的value值前嵌入php语言,输出$name,这个其实就和设置默认值的方法一样

1 <div>名称:<input type="text" name="name" value="<?php echo $name ?>" /> 

二、多条件查询

其他的和查询一样,就不详细写了

 1 <?php
 2 require("DBDA.class.php");//这个地方我用的是封装类
 3 $db = new DBDA();
 4 
 5 //1.如果没有提交数据,显示所有
 6 //2.如果有提交数据,根据关键字查询显示
 7 $name="";
 8 $tj1 = " 1=1 "; //第一个条件,对应名称
 9 $tj2 = " 1=1 "; //第二个条件,对应系列
10 if(!empty($_POST["name"]))
11 {
12     $name = $_POST["name"];
13     $tj1 = " name like '%{$name}%' ";
14 }
15 if(!empty($_POST["brand"]))
16 {
17     $brand = $_POST["brand"];
18     $tj2 = " brand = '{$brand}' ";
19 }
20 //总条件
21 $tj = " {$tj1} and {$tj2}";
22 
23 $sql = "select * from car where ".$tj;
24 echo $sql;
25 ?>

 注:有几个条件就做几个条件变量,第一个条件不为空就执行的第一个if,第二个条件不为空执行的第二个if,两个都为空就是差所有的。

posted @ 2017-05-02 13:00  小牛吃青草  阅读(577)  评论(0编辑  收藏  举报