php单条件查询,关键字查询
Posted 小艾—21克的爱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>
以上是关于php单条件查询,关键字查询的主要内容,如果未能解决你的问题,请参考以下文章