php单条件查询,关键字查询

时间:2023-12-25 10:02:01
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head> <body>
<h1>查询汽车页面</h1>
<!--根据一个关键字来查到所有的结果-->
<div>请输入名称:
<input type="text" name="name" /><!--输入框-->
<input type="submit" value="查询" /><!--查询按钮-->
</div>
<dr> <table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr>
<td>代号</td>
<td>名称</td>
<td>系列</td>
<td>时间</td>
<td>油耗</td>
<td>功率</td>
</tr>
<!-- 嵌入PHP读数据库
第一步-->
<?php
//造链接对象
$db = new MySQLi("localhost","root","511108","text");
//写SQL语句
$sql = "select * from car";
//执行
$result = $db->query($sql);
//读取数据
$attr = $result->fetch_all();//返回的值用$attr存,得个二维数组,用foreach循环
//foreach循环便利显示
foreach($attr as $v)
{
echo "<tr>
<td>{$v[0]}</td>
<td>{$v[1]}</td>
<td>{$v[2]}</td>
<td>{$v[3]}</td>
<td>{$v[4]}</td>
<td>{$v[5]}</td>
</tr>";
} ?> </table> </body>
</html>
下图是效果图

php单条件查询,关键字查询

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head> <body>
<h1>查询汽车页面</h1> <?php
//造链接对象。取出用户传的值
$db = new MySQLi("localhost","root","511108","text");
//1先定个$name = "";变量
//$name = $_POST["name"];//取name的值
$name = "";
if(!empty($_POST["name"]))//取name //加上一个叹号!如果name里面为非空就近下面
{
$name = $_POST["name"];
}
$tj = " name like'%{$name}%'";//如果第一次查询$name是空的,就默认表里所有数据,如果$name里面有值比如宝马就会把所有带有宝马的找出来 ?> <form action="chaxunqiche.php" method="post"><!--指向当前页面并且用post方式传一个值-->
<!--根据一个关键字来查到所有的结果-->
<div>请输入名称:
<input type="text" name="name" /><!--输入框.表单元素文本框-->
<input type="submit" value="查询" /><!--查询按钮-->
</div>
<dr> <table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr>
<td>代号</td>
<td>名称</td>
<td>系列</td>
<td>时间</td>
<td>油耗</td>
<td>功率</td>
</tr>
<!-- 嵌入PHP读数据库
第一步-->
<?php
//造链接对象
//$db = new MySQLi("localhost","root","511108","text");移到上面了是一样的
//写SQL语句
$sql = "select * from car where {$tj}";//拼成一个完整的SQL语句
echo $sql;//输出下SQL语句
//执行
$result = $db->query($sql);
//读取数据
$attr = $result->fetch_all();//返回的值用$attr存,得个二维数组,用foreach循环
//foreach循环便利显示
foreach($attr as $v)
{
echo "<tr>
<td>{$v[0]}</td>
<td>{$v[1]}</td>
<td>{$v[2]}</td>
<td>{$v[3]}</td>
<td>{$v[4]}</td>
<td>{$v[5]}</td>
</tr>";
} ?> </table> </body>
</html>
下图要查询的数据,因为没有传过来的值所以$name是空字符串,拼接%%没有
其实就是输出的select * from car where name like'%%'这句话
空的就返回全部

php单条件查询,关键字查询

查询里:输入奥迪如下图

php单条件查询,关键字查询

以上是单条件查询。有缺陷

让关键字奥迪变色

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head> <body>
<h1>查询汽车页面</h1> <?php
//造链接对象。取出用户传的值
$db = new MySQLi("localhost","root","511108","text");
//1先定个$name = "";变量
//$name = $_POST["name"];//取name的值
$tj = " 1=1 ";//条件默认恒成立,在去下面判断下,如果传值就进if //暂时不用他换前面的$name = "";
$name = "";//把他定义在这仅仅是去给他改值,这样这个页面都能访问到 if(!empty($_POST["name"]))//取name //加上一个叹号!如果name里面为非空就近下面
{
$name = $_POST["name"];//把这个变量定义在哪个花狐号{}里面他就在哪里起作用,出去就找不到,不能用了
$tj = " name like '%{$name}%' ";
}
$tj = " name like'%{$name}%'";//如果第一次查询$name是空的,就默认表里所有数据,如果$name里面有值比如宝马就会把所有带有宝马的找出来 ?> <form action="chaxunqiche.php" method="post"><!--指向当前页面并且用post方式传一个值-->
<!--根据一个关键字来查到所有的结果-->
<div>请输入名称:
<input type="text" name="name" /><!--输入框.表单元素文本框-->
<input type="submit" value="查询" /><!--查询按钮-->
</div>
<dr> <table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr>
<td>代号</td>
<td>名称</td>
<td>系列</td>
<td>时间</td>
<td>油耗</td>
<td>功率</td>
</tr>
<!-- 嵌入PHP读数据库
第一步-->
<?php
//造链接对象
//$db = new MySQLi("localhost","root","511108","text");移到上面了是一样的
//写SQL语句
$sql = "select * from car where {$tj}";//拼成一个完整的SQL语句
//echo $sql;//输出下SQL语句
//执行
$result = $db->query($sql);
//读取数据
$attr = $result->fetch_all();//返回的值用$attr存,得个二维数组,用foreach循环
//foreach循环便利显示
foreach($attr as $v)//$attr便利下取出每个小数据$v
{
$v[1];//就是汽车名称,将来要显示的
//str_replace相当于查找替换。要查找的是关键字$name就是<span style='color:red'>{$name}</span>颜色替换的是$v[1]
//有2种方式让关键字变色 ,1种,$str = str_replace($name,"<span style='color:red'>{$name}</span>",$v[1]);//替换字符串,需要3个参数 之后把它交给变量$str = 第2种方式<mark></mark>特殊处理
$str = str_replace($name,"<mark>{$name}</mark>",$v[1]);
echo "<tr>
<td>{$v[0]}</td>
<td>{$str}</td>
<td>{$v[2]}</td>
<td>{$v[3]}</td>
<td>{$v[4]}</td>
<td>{$v[5]}</td>
</tr>";
} ?> </table> </body>
</html>

php单条件查询,关键字查询