多条件查询练习

it2026-10-05  7

如何做查询,首先引入一张汽车表,输出所有数据查出来显示,然后再做查询

<body> <h1>查询页面</h1> <table width="100%" border="1" cellpadding="0" cellspacing="0">//先建一个table表 <tr> //先做表头 <td>代号</td> <td>名称</td> <td>系列</td> <td>时间</td> <td>油耗</td> <td>功率</td> </tr>//显示数据,要从数据库读,所以嵌入PHP代码 <?php//造一个连接对象 $db = new MySQLi("localhost","root","15864477048","test");//写SQL语句 $sql = "select * from car";//调用 执行 $result = $db->query($sql);//读数据 $attr = $result->fetch_all(); //显示 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>

接下来是根据一个关键字查询

<h1>查询页面</h1> <from action="carchaxun.php" method="post"> //加以表单因为要打到一个页面处理 <div>请输入名称:<input type="text" name="name" /><input type="submit" value="查询" /></div></from> <br /> //加一个换行

 

模糊查询

<?php $db = new MySQLi("localhost","root","15864477048","test"); $name = ""; if(!empty($_POST["name"])) { $name = $_POST["name"]; } $tj = " name like '%{$name}%' ";//模糊查询 ?> <form action="carchaxun.php" method="post"> <div>请输入名称: <input type="text" name="name" /> <input type="submit" value="查询" /> </div> </form> <br /> <table width="100%" border="1" cellpadding="0" cellspacing="0"> <tr> <td>代号</td> <td>名称</td> <td>系列</td> <td>时间</td> <td>油耗</td> <td>功率</td> </tr> <?php $sql = "select * from car where{$tj}"; $result = $db->query($sql); $attr = $result->fetch_all(); 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>

输入奥迪点击查询,根据奥迪来查  以上是单条件查询,适用范围窄

默认查所有数据恒成立,输入值后根据条件查

 

<?php $db = new MySQLi("localhost","root","15864477048","test"); $tj ="1=1";//条件默认等于恒成立的 if(!empty($_POST["name"])) { $name = $_POST["name"]; $tj =" name like'%{$name}%'"; } ?>

 

关键字做特殊显示

<?php $db = new MySQLi("localhost","root","15864477048","test"); $tj =" 1=1 ";//条件默认等于恒成立的 $name = ""; //定义外层,在外界可以访问到 if(!empty($_POST["name"])) { $name = $_POST["name"]; $tj =" name like'%{$name}%'"; } ?> <form action="carchaxun.php" method="post"> <div>请输入名称: <input type="text" name="name" /> <input type="submit" value="查询" /> </div> </form> <br /> <table width="100%" border="1" cellpadding="0" cellspacing="0"> <tr> <td>代号</td> <td>名称</td> <td>系列</td> <td>时间</td> <td>油耗</td> <td>功率</td> </tr> <?php $sql = "select * from car where{$tj}"; $result = $db->query($sql); $attr = $result->fetch_all(); foreach($attr as $v) { //替换字符串 括号里(我要查找的关键字 , 替换成什么 , 字符串 ) $str = str_replace($name,"<span style='color:red'>{$name}</span>",$v[1]); //也可以用 mark 可以直接做特殊处理 给文字做了标记 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>"; } ?>

<span></span>也可以替换用 mark 可以直接做特殊处理 给文字做了标记多条件查询方法用两个条件查询做例子 用两个if判断实现4种逻辑 <form action="carchaxun.php" method="post"> <div>请输入名称: <input type="text" name="name" /> 请输入系列代号: <input type="text" name="brand" /> <input type="submit" value="查询" /> </div> </form>

 

<body> <h1>查询页面</h1> <?php $db = new MySQLi("localhost","root","15864477048","test"); $tj1 = " 1=1 "; $tj2 = " 1=1 "; $name = ""; if(!empty($_POST["name"])) { $name= $_POST["name"]; $tj1 = " name like '%{$name}%' "; } if(!empty($_POST["brand"])) { $brand =$_POST["brand"]; $tj2 ="brand ='{$brand}'"; } ?> <form action="carchaxun.php" method="post"> <div>请输入名称: <input type="text" name="name" /> 请输入系列代号: <input type="text" name="brand" /> <input type="submit" value="查询" /> </div> </form> <br /> <table width="100%" border="1" cellpadding="0" cellspacing="0"> <tr> <td>代号</td> <td>名称</td> <td>系列</td> <td>时间</td> <td>油耗</td> <td>功率</td> </tr> <?php $sql = "select * from car where{$tj1} and {$tj2}"; $result = $db->query($sql); $attr = $result->fetch_all(); foreach($attr as $v) { //替换字符串 括号里(我要查找的关键字 , 替换成什么 , 字符串 ) $str = str_replace($name,"<span style='color:red'>{$name}</span>",$v[1]); //也可以用 mark 可以直接做特殊处理 给文字做了标记 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>

一个搜寻时

 

两个条件同时搜寻时

显示查找值

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

如果查询没有结果,显示提示无信息怎么做?

 

转载于:https://www.cnblogs.com/zqseven/p/6211034.html

最新回复(0)