主页 > 教程合集 > 网站建设 >

PHP实现查询及多条件查询的方法

时间:2020-05-27 阅读:0

今天给大家分享的是使用php实现单条件以及多条件查询的代码及示例,非常实用,有需要的小伙伴可以参考下。

PHP实现查询及多条件查询的方法

单条件查询:

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


<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>无标题文档</title>
</head>

<body>
<table border="1" cellspacing="0" cellpadding="0">
    <tr>
       <td width="200">编号</td>
        <td width="200">姓名</td>
        <td width="200">电话</td>
        <td width="200" >分组</td>
    </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>{$attr[1]}</td>
        <td>{$attr[2]}</td>
        <td>{$attr[3]}</td>    
    </tr>";
    }
    ?>
</table>
</body>

</html>
 

上图:

PHP实现查询及多条件查询的方法

啥都没改的一张表

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


<form action="shouye.php" method="post">
    <p>
        输入名字:<input type="text" name="name"/>
        <input type="submit" value="查询"/>
    </p>
</form>
 

如图:

PHP实现查询及多条件查询的方法

3.建立关键字查询:


<?php
    //实现两个逻辑
    //1.如果没有post数据.查所有的
    //2.如果有post数据.根据条件查
    $db = new mysqli("localhost","root","12345678","heiheihei");
    //连接数据库
    $tj = " 1 = 1 ";
    $name="";
    //恒成立,如果没有写数据,那就让条件等于1=1,这个条件是查找所有的数据
    //如果你写入数据,按照数据查
    if(!empty($_POST))
    {
        $name = $_POST['name'];
        $tj = " name like '%{$name}%'";
    }
    //将条件拼接到SQl语句
    $sql = "select * from contacts WHERE {$tj}";
    echo $sql;
    //查出来
    $r = $db->query($sql);
    //传值
    if($r)
        //开始判断
    {
       //$attr已经接收到了值,现在只需要获取他的索引就行了
        while ($attr = $r->fetch_row())
        {
            //关键字特殊查询
          $str = str_replace($name,"<mark>{$name}</mark>",$attr[1]); //查找替换如ctrl+f
            //substr_replace(); 在指定位置替换
            //substr(); 截取字符串
            $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实现查询及多条件查询的方法

多条件查询,前面照旧,出了php的语句:


<?php
    //实现两个逻辑
    //1.如果没有post数据.查所有的
    //2.如果有post数据.根据条件查
    $db = new mysqli("localhost","root","12345678","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}";
 

效果图:

PHP实现查询及多条件查询的方法

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

本站所有资源均在Resource资源站有分享,你可以点击 >>> Resource 进入资源站自助提取。

余斗余斗
  • 版权声明:原创文章由发表在网站建设分类下,2020-05-27最后更新,转载注明出处。

相关推荐

返回顶部