• 技术文章 >后端开发 >PHP问题

    php如何实现按条件查询

    藏色散人藏色散人2020-10-15 11:12:46原创3422

    php按条件查询的实现方法:首先调取之前封装好的类;然后利用关键词模糊查询;接着创建表单,将数据提交到当前页面,提取关键字查询;最后用PHP代码遍历表中元素,将关键字变为红色即可。

    php入门到就业线上直播课:进入学习

    推荐:《PHP视频教程

    一、单条件查询,就是只有一个条件的查询:

    1.首先调取之前封装好的类,然后利用关键词模糊查询:

    <?php //单查询
    require "DBDA.class.php";//调取封装类
    $db=new DBDA;
    $Sname="";//创建变量,为了后面可以让Sname在表单中显示
    $sql="select * from t_student";
    
    if(!empty($_POST["Sname"]))//确定是否存在数据
    {
        $Sname=$_POST["Sname"];
        $sql="select * from t_student where Sname like '%{$Sname}%' ";//模糊查询
    }
    ?>

    2、创建表单,将数据提交到当前页面,提取关键字查询:

    <form action="chaxun.php" method="post"><!--因为查询数据在当前页面,所以提交到当前页面-->
    <div>姓名:<input type="text" name="Sname" value="<?php echo $Sname ?>" />
    <input type="submit" value="查询" /></div>
    </form><br />
    
    <table width="100% " border="1" cellpadding="0" cellspacing="0">
        <tr>
            <td>姓名</td>
            <td>性别</td>
            <td>班级</td>
        </tr>

    3、遍历表中元素,将关键字变为红色:

    <?php
    $arr=$db->query($sql);
    foreach($arr as $v)
    {
        $str = str_replace($Sname,"<span style='color:red'>{$Sname}</span>",$v[1]);//用span标签使关键字变为红色,
        echo "<tr>
            <td>{$str}</td>
            <td>{$v[2]}</td>
            <td>{$v[4]}</td>
            </tr>";    
    }
    ?>

    最终结果:

    b6fd7b7faa80d06b9ab9313ff6df3b9.png

    二、多条件查询:

    1、先做一个表单,并创建表格将表显示出来:

    <table width="100%" border="1" cellpadding="0" cellspacing="0">
    <tr>
        <td>代号</td>
        <td>名称</td>
        <td>系列</td>
        <td>上市时间</td>
        <td>价格</td>
    </tr>
    </table>

    2、调取封装类,并创造相应条件,并检验数据是否为空:

    <?php
    require "DBDA.class.php";
    $db=new DBDA();//1.如果没有提交数据,显示所有//2.如果有提交数据,根据关键字查询显示$name="";
    $tj1=" 1=1 "; //第一个条件,对应名称,要用空格隔开$tj2=" 1=1 ";//第二个条件,对应系列,要用空格隔开if(!empty($_POST["name"]))
    {
        $name = $_POST["name"];
        $tj1 = " name like '%{$name}%' ";
    }if(!empty($_POST["brand"]))
    {
        $brand = $_POST["brand"];
        $tj2 = " brand = '{$brand}' ";
    }//总条件$tj=" {$tj1}and{$tj2} ";
    $sql="select * from car where".$tj;?>

    3、用php代码遍历数据库的表,将关键字变为红色(php要嵌在table里):

    <?php
    $arr = $db->query($sql);foreach($arr as $v)
    {
        $str = str_replace($name,"<span style='color:red'>{$name}</span>",$v[1]);
        echo "<tr>
        <td>{$v[0]}</td>
        <td>{$str}</td>
        <td>{$v[2]}</td>
        <td>{$v[3]}</td>
        <td>{$v[7]}</td>
    </tr>";}?>

    最终结果为:

    301616886cf751940fe7ff1901f71bd.png

    以上就是php如何实现按条件查询的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:php
    上一篇:如何解决php-fpm 500错误的问题 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• php如何连接mysql并查询数据• mysql如何按月份分组查询• 怎么查询mysql user表?• 怎么查询mysql数据库表字段类型有哪些?
    1/1

    PHP中文网