php单条件查询,关键字查询
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5 <title></title>
6 </head>
7
8 <body>
9 <h1>查询汽车页面</h1>
10 <!--根据一个关键字来查到所有的结果-->
11 <div>请输入名称:
12 <input type="text" name="name" /><!--输入框-->
13 <input type="submit" value="查询" /><!--查询按钮-->
14 </div>
15 <dr>
16
17
18 <table width="100%" border="1" cellpadding="0" cellspacing="0">
19 <tr>
20 <td>代号</td>
21 <td>名称</td>
22 <td>系列</td>
23 <td>时间</td>
24 <td>油耗</td>
25 <td>功率</td>
26 </tr>
27 <!-- 嵌入PHP读数据库
28 第一步-->
29 <?php
30 //造链接对象
31 $db = new MySQLi("localhost","root","511108","text");
32 //写SQL语句
33 $sql = "select * from car";
34 //执行
35 $result = $db->query($sql);
36 //读取数据
37 $attr = $result->fetch_all();//返回的值用$attr存,得个二维数组,用foreach循环
38 //foreach循环便利显示
39 foreach($attr as $v)
40 {
41 echo "<tr>
42 <td>{$v[0]}</td>
43 <td>{$v[1]}</td>
44 <td>{$v[2]}</td>
45 <td>{$v[3]}</td>
46 <td>{$v[4]}</td>
47 <td>{$v[5]}</td>
48 </tr>";
49 }
50
51
52
53 ?>
54
55
56
57
58 </table>
59
60 </body>
61 </html>
下图是效果图

1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5 <title></title>
6 </head>
7
8 <body>
9 <h1>查询汽车页面</h1>
10
11 <?php
12 //造链接对象。取出用户传的值
13 $db = new MySQLi("localhost","root","511108","text");
14 //1先定个$name = "";变量
15 //$name = $_POST["name"];//取name的值
16 $name = "";
17 if(!empty($_POST["name"]))//取name //加上一个叹号!如果name里面为非空就近下面
18 {
19 $name = $_POST["name"];
20 }
21 $tj = " name like'%{$name}%'";//如果第一次查询$name是空的,就默认表里所有数据,如果$name里面有值比如宝马就会把所有带有宝马的找出来
22
23
24
25
26 ?>
27
28
29 <form action="chaxunqiche.php" method="post"><!--指向当前页面并且用post方式传一个值-->
30 <!--根据一个关键字来查到所有的结果-->
31 <div>请输入名称:
32 <input type="text" name="name" /><!--输入框.表单元素文本框-->
33 <input type="submit" value="查询" /><!--查询按钮-->
34 </div>
35 <dr>
36
37
38 <table width="100%" border="1" cellpadding="0" cellspacing="0">
39 <tr>
40 <td>代号</td>
41 <td>名称</td>
42 <td>系列</td>
43 <td>时间</td>
44 <td>油耗</td>
45 <td>功率</td>
46 </tr>
47 <!-- 嵌入PHP读数据库
48 第一步-->
49 <?php
50 //造链接对象
51 //$db = new MySQLi("localhost","root","511108","text");移到上面了是一样的
52 //写SQL语句
53 $sql = "select * from car where {$tj}";//拼成一个完整的SQL语句
54 echo $sql;//输出下SQL语句
55 //执行
56 $result = $db->query($sql);
57 //读取数据
58 $attr = $result->fetch_all();//返回的值用$attr存,得个二维数组,用foreach循环
59 //foreach循环便利显示
60 foreach($attr as $v)
61 {
62 echo "<tr>
63 <td>{$v[0]}</td>
64 <td>{$v[1]}</td>
65 <td>{$v[2]}</td>
66 <td>{$v[3]}</td>
67 <td>{$v[4]}</td>
68 <td>{$v[5]}</td>
69 </tr>";
70 }
71
72
73
74 ?>
75
76
77
78
79 </table>
80
81 </body>
82 </html>
下图要查询的数据,因为没有传过来的值所以$name是空字符串,拼接%%没有
其实就是输出的select * from car where name like'%%'这句话
空的就返回全部

查询里:输入奥迪如下图

以上是单条件查询。有缺陷
让关键字奥迪变色
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5 <title></title>
6 </head>
7
8 <body>
9 <h1>查询汽车页面</h1>
10
11 <?php
12 //造链接对象。取出用户传的值
13 $db = new MySQLi("localhost","root","511108","text");
14 //1先定个$name = "";变量
15 //$name = $_POST["name"];//取name的值
16 $tj = " 1=1 ";//条件默认恒成立,在去下面判断下,如果传值就进if //暂时不用他换前面的$name = "";
17 $name = "";//把他定义在这仅仅是去给他改值,这样这个页面都能访问到
18
19 if(!empty($_POST["name"]))//取name //加上一个叹号!如果name里面为非空就近下面
20 {
21 $name = $_POST["name"];//把这个变量定义在哪个花狐号{}里面他就在哪里起作用,出去就找不到,不能用了
22 $tj = " name like '%{$name}%' ";
23 }
24 $tj = " name like'%{$name}%'";//如果第一次查询$name是空的,就默认表里所有数据,如果$name里面有值比如宝马就会把所有带有宝马的找出来
25
26
27 ?>
28
29
30 <form action="chaxunqiche.php" method="post"><!--指向当前页面并且用post方式传一个值-->
31 <!--根据一个关键字来查到所有的结果-->
32 <div>请输入名称:
33 <input type="text" name="name" /><!--输入框.表单元素文本框-->
34 <input type="submit" value="查询" /><!--查询按钮-->
35 </div>
36 <dr>
37
38
39 <table width="100%" border="1" cellpadding="0" cellspacing="0">
40 <tr>
41 <td>代号</td>
42 <td>名称</td>
43 <td>系列</td>
44 <td>时间</td>
45 <td>油耗</td>
46 <td>功率</td>
47 </tr>
48 <!-- 嵌入PHP读数据库
49 第一步-->
50 <?php
51 //造链接对象
52 //$db = new MySQLi("localhost","root","511108","text");移到上面了是一样的
53 //写SQL语句
54 $sql = "select * from car where {$tj}";//拼成一个完整的SQL语句
55 //echo $sql;//输出下SQL语句
56 //执行
57 $result = $db->query($sql);
58 //读取数据
59 $attr = $result->fetch_all();//返回的值用$attr存,得个二维数组,用foreach循环
60 //foreach循环便利显示
61 foreach($attr as $v)//$attr便利下取出每个小数据$v
62 {
63 $v[1];//就是汽车名称,将来要显示的
64 //str_replace相当于查找替换。要查找的是关键字$name就是<span style='color:red'>{$name}</span>颜色替换的是$v[1]
65 //有2种方式让关键字变色 ,1种,$str = str_replace($name,"<span style='color:red'>{$name}</span>",$v[1]);//替换字符串,需要3个参数 之后把它交给变量$str = 第2种方式<mark></mark>特殊处理
66 $str = str_replace($name,"<mark>{$name}</mark>",$v[1]);
67 echo "<tr>
68 <td>{$v[0]}</td>
69 <td>{$str}</td>
70 <td>{$v[2]}</td>
71 <td>{$v[3]}</td>
72 <td>{$v[4]}</td>
73 <td>{$v[5]}</td>
74 </tr>";
75 }
76
77
78
79 ?>
80
81
82
83
84 </table>
85
86 </body>
87 </html>


浙公网安备 33010602011771号