php查询及多条件查询

单条件查询

1.先要有一张表,显示出表中的数据:

rush:PHP;"> 无<a href="https://www.jb51.cc/tag/biaoti/" target="_blank" class="keywords">标题</a>文档 分组</tr>
<?php
$db = new mysqli("localhost","root","12345678","heiheihei");
$sql = "select * from contacts";
$r = $db->query($sql);
//传值
while ($attr = $r->fetch_row())
{
echo " <tr>
<td>{$attr[0]}</td>

<td&gt;{$attr[1]}</td&gt;
<td&gt;{$attr[2]}</td&gt;
<td&gt;{$attr[3]}</td&gt;

</tr>";
}
?>
</table>

上图:

啥都没改的一张表

2.再来个from表单,让用户输入,点击查询

rush:xhtml;">
PHP" method="post">
输入名字:查询"/>

如图:

3.建立关键字查询

rush:PHP;"> //查出来
$r = $db->query($sql);
//传值
if($r)
//开始判断
{
//$attr已经接收到了值,现在只需要获取他的索引就行了
while ($attr = $r->fetch_row())
{
//关键字特殊查询

 $str = str_replace($name,"<mark>{$name}</mark>",$attr[1]);  //查找替换如ctrl+f
  //<a href="https://www.jb51.cc/tag/substrreplace/" target="_blank" class="keywords">substr_replace()</a>;     在指定位置替换
  //sub<a href="https://www.jb51.cc/tag/str/" target="_blank" class="keywords">str()</a>;    <a href="https://www.jb51.cc/tag/jiequ/" target="_blank" class="keywords">截取</a>字符串

  $gname = "select gname from groups WHERE gid='{$attr[3]}'";
  //分组表中的gid,和我点击的
  $nresult = $db->query($gname);
  $gname = $nresult->fetch_row();
  $nation = $gname[0];

echo " <tr>
<td>{$attr[0]}</td>

<td>{$str}</td>
<td>{$attr[2]}</td>
<td>{$nation}</td>

?>

图:

多条件查询

前面照旧;

出了PHP的语句:

rush:PHP;"> PHP //实现两个逻辑 //1.如果没有post数据.查所有的 //2.如果有post数据.根据条件查 $db = new MysqLi("localhost","heiheihei"); //连接数据库 $tj1 = " 1 = 1 "; $tj2 = " 1 = 1 ";//两个条件的恒等 $name=""; //恒成立,如果没有写数据,那就让条件等于1=1,这个条件是查找所有的数据 //如果你写入数据,按照数据查 if(!empty($_POST["name"])) //第一个条件的判断(用到了模糊查询) { $name = $_POST['name']; $tj1 = " name like '%{$name}%'"; } if(!empty($_POST["tel"])) { $tel = $_POST["tel"]; $tj2 = "tel = '$tel'"; } //将条件拼接到sql语句 $sql = "select * from contacts WHERE {$tj1} AND {$tj2}";

效果图:

这样:有几个条件就做几个条件变量,第一个条件不为空就执行的第一个条件,第二个条件不为空执行的第二个条件,两个都为空就是查寻所有的数据

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...