• 模糊查询,多条件查询


    1.一个条件的模糊查询

    复制代码
    <body>
    <br />
    <form action="main.php" method="post"><!--点击查询时会将用户输入的值传递到本页面-->
        <div>姓名:
            <input type="text" name="xm" /><!--输入查询的关键字-->
            <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
    复制代码
     1 //先判断有没有提交值
     2     $xm="";
     3     if(!empty($_POST["xm"]))//没有值就说明是第一次加载这个页面,没有输入查询条件,点击查询就是查询所有的。有值就按照输入的值查询。
     4     {
     5         $xm = $_POST["xm"];//把输入的值取出来
     6     }
     7     $tj = "";//定义一个变量条件(tj)
     8     if($xm == "")//如果值为空
     9     {
    10         $tj = " 1=1 ";//如果值为空,就给条件赋一个恒成立的1=1.根据这个条件能查询出所有的数据。
    11     }
    12     else
    13     {
    14         $tj = " name like '%{$xm}%' ";//如果值不为空,就给$tj赋上输入输入的值。
    15     }
    复制代码
    上面带行号的代码可以简化为下面的带行号的
    复制代码
     1 $xm="";
     2 if(!empty($_POST["xm"]))//没有值就说明是第一次加载这个页面,没有输入查询条件,点击查询就是查询所有的。有值就按照输入的值查询。
     3 {
     4 $xm = $_POST["xm"];//把输入的值取出来
     5 }
     6 $tj = " 1=1 ";//让$tj值默认1=1,
     7 if($xm != "")
     8 {
     9 $tj = " name like '%{$xm}%' ";//如果值不为空,就给$tj赋上输入输入的值。
    10 }
    复制代码

    或者更加简化

    1 $tj = " 1=1 ";
    2     if(!empty($_POST["xm"]) && $_POST["xm"]!="")//没有值就说明是第一次加载这个页面,没有输入查询条件,点击查询就是查询所有的。有值就按照输入的值查询。
    3     {
    4             $tj = " name like '%{$_POST['xm']}%' ";
    5     }
     $db = new MySQLi("localhost","root","666","text1");
        
        $sql = "select * from info where ".$tj;//把条件拼在查询语句后面,并加上where。
        
        $result = $db->query($sql);
        
        $attr = $result->fetch_all();
        
        foreach($attr as $v)
        {
            echo"<tr>";
            
            $sex = $v[2]?"男":"女";
            
            $name = NationName($v[3]);
            
            
            echo"<td>{$v[0]}</td><td>{$v[1]}</td><td>{$sex}</td><td>{$name}</td><td>{$v[4]}</td><td><a href='shanchu.php?c={$v[0]}' onclick="return confirm('确定删除吗?')">删除</a><a href='xiugai.php?c={$v[0]}'>修改</a></td";
            /*foreach($v as $v1)
            {
                echo "<td>{$v1}</td>";
            }*/
            echo"</tr>";
        }
        
        
        function NationName($code)
        {
            $db = new MySQLi("localhost","root","666","text1");
            $sql = "select name from nation where code = '{$code}'";
            $result = $db->query($sql);
            $attr = $result->fetch_row();
            return $attr[0];
        }
        ?>    
    复制代码
    </table>
    <a href="add.php"><input type="button" value="添加数据" /></a>
    </body>
    复制代码

    下面让查询到的关键字变颜色,用<mark>标签

    复制代码
    <body>
    <br />
    <form action="main.php" method="post"><!--点击查询时会将用户输入的值传递到本页面-->
        <div>姓名:
            <input type="text" name="xm" /><!--输入查询的关键字-->
            <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 
        //先判断有没有提交值
        $xxm = "";//定义要关键字变量
        $tj = " 1=1 ";
        if(!empty($_POST["xm"]) && $_POST["xm"]!="")//没有值就说明是第一次加载这个页面,没有输入查询条件,点击查询就是查询所有的。有值就按照输入的值查询。
        {
                $xxm = $_POST['xm'];//提取关键字
                $tj = " name like '%{$_POST['xm']}%' ";
        }
        
        $db = new MySQLi("localhost","root","666","text1");
        
        $sql = "select * from info where ".$tj;//把条件拼在查询语句后面,并加上where。
        
        $result = $db->query($sql);
        
        $attr = $result->fetch_all();
        
        foreach($attr as $v)
        {
            echo"<tr>";
            
            $sex = $v[2]?"男":"女";
            
            $name = NationName($v[3]);
            
            $newname = str_replace($xxm,"<mark>{$xxm}</mark>",$v[1]);//替换关键字,用$newname替换原来的$v[2]
            
            
            echo"<td>{$v[0]}</td><td>{$newname}</td><td>{$sex}</td><td>{$name}</td><td>{$v[4]}</td><td><a href='shanchu.php?c={$v[0]}' onclick="return confirm('确定删除吗?')">删除</a><a href='xiugai.php?c={$v[0]}'>修改</a></td";
            /*foreach($v as $v1)
            {
                echo "<td>{$v1}</td>";
            }*/
            echo"</tr>";
        }
        
        
        function NationName($code)
        {
            $db = new MySQLi("localhost","root","666","text1");
            $sql = "select name from nation where code = '{$code}'";
            $result = $db->query($sql);
            $attr = $result->fetch_row();
            return $attr[0];
        }
        ?>   
    复制代码
    </table>
    <a href="add.php"><input type="button" value="添加数据" /></a>
    </body>
    复制代码

    2.两个条件查询,模糊查询加关键字查询。

    复制代码
    <body>
    <br />
    <form action="main.php" method="post"><!--点击查询时会将用户输入的值传递到本页面-->
        <div>姓名:
            <input type="text" name="xm" /><!--输入查询的关键字-->
            民族代号:
            <input type="text" name="mz" />
            <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 
        //先判断有没有提交值
        $xxm = "";
        $tj = " 1=1 ";
        $tj2 = " 1=1 ";//再做一个条件
        if(!empty($_POST["xm"]) && $_POST["xm"]!="")//这个条件是判断xm的,判断模糊查询。
        {
                $xxm = $_POST['xm'];
                $tj = " name like '%{$_POST['xm']}%' ";
        }
        
        if(!empty($_POST["mz"]) && $_POST["mz"]!="")//再做一个条件判断另一个条件
        {
                $mz = $_POST['mz'];//取民族的代号
                $tj2 = " nation = '{$_POST['mz']}' ";
        }
        
        $db = new MySQLi("localhost","root","666","text1");
        
        $sql = "select * from info where ".$tj." and ".$tj2;
        
        $result = $db->query($sql);
        
        $attr = $result->fetch_all();
        
        foreach($attr as $v)
        {
            echo"<tr>";
            
            $sex = $v[2]?"男":"女";
            
            $name = NationName($v[3]);
            
            $newname = str_replace($xxm,"<mark>{$xxm}</mark>",$v[1]);//替换关键字
            
            
            echo"<td>{$v[0]}</td><td>{$newname}</td><td>{$sex}</td><td>{$name}</td><td>{$v[4]}</td><td><a href='shanchu.php?c={$v[0]}' onclick="return confirm('确定删除吗?')">删除</a><a href='xiugai.php?c={$v[0]}'>修改</a></td";
            /*foreach($v as $v1)
            {
                echo "<td>{$v1}</td>";
            }*/
            echo"</tr>";
        }
        
        
        function NationName($code)
        {
            $db = new MySQLi("localhost","root","666","text1");
            $sql = "select name from nation where code = '{$code}'";
            $result = $db->query($sql);
            $attr = $result->fetch_row();
            return $attr[0];
        }
        ?>     
    复制代码
    </table>
    <a href="add.php"><input type="button" value="添加数据" /></a>
    </body>
    复制代码

    查询后模糊查询的关键字依然存在

    复制代码
    <body>
    复制代码
     1 <?php
     2 //先判断有没有提交值
     3     $xxm = "";
     4     $tj = " 1=1 ";
     5     $tj2 = " 1=1 ";//再做一个条件
     6     if(!empty($_POST["xm"]) && $_POST["xm"]!="")//这个条件是判断xm的,判断模糊查询。
     7     {
     8             $xxm = $_POST['xm'];
     9             $tj = " name like '%{$_POST['xm']}%' ";
    10     }
    11     
    12     if(!empty($_POST["mz"]) && $_POST["mz"]!="")//再做一个条件判断另一个条件
    13     {
    14             $mz = $_POST['mz'];//取民族的代号
    15             $tj2 = " nation = '{$_POST['mz']}' ";
    16     }
    17 ?>
    复制代码
    <br />
    <form action="main.php" method="post"><!--点击查询时会将用户输入的值传递到本页面-->
        <div>姓名:
            <input type="text" name="xm" value="<?php echo $xxm ?>" /><!--输入查询的关键字-->
            民族代号:
            <input type="text" name="mz" />
            <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>
    复制代码
     1 <?php 
     2     
     3     $db = new MySQLi("localhost","root","666","text1");
     4     
     5     $sql = "select * from info where ".$tj." and ".$tj2;
     6     
     7     $result = $db->query($sql);
     8     
     9     $attr = $result->fetch_all();
    10     
    11     foreach($attr as $v)
    12     {
    13         echo"<tr>";
    14         
    15         $sex = $v[2]?"男":"女";
    16         
    17         $name = NationName($v[3]);
    18         
    19         $newname = str_replace($xxm,"<mark>{$xxm}</mark>",$v[1]);//替换关键字
    20         
    21         echo"<td>{$v[0]}</td><td>{$newname}</td><td>{$sex}</td><td>{$name}</td><td>{$v[4]}</td><td><a href='shanchu.php?c={$v[0]}' onclick="return confirm('确定删除吗?')">删除</a><a href='xiugai.php?c={$v[0]}'>修改</a></td";
    22         /*foreach($v as $v1)
    23         {
    24             echo "<td>{$v1}</td>";
    25         }*/
    26         echo"</tr>";
    27     }
    28         
    29     function NationName($code)
    30     {
    31         $db = new MySQLi("localhost","root","666","text1");
    32         $sql = "select name from nation where code = '{$code}'";
    33         $result = $db->query($sql);
    34         $attr = $result->fetch_row();
    35         return $attr[0];
    36     }
    37     ?>       
    复制代码
    </table>
    <a href="add.php"><input type="button" value="添加数据" /></a>
    </body>
    复制代码
  • 相关阅读:
    visual studio code 中文
    vue中常用插件(货币、日期)
    PS与CSS字间距转换
    常用css样式(文字超出部分用省略号显示、鼠标经过图片放大、出现阴影)
    swiper在一个页面多个轮播图
    git上传项目
    Win10下安装SVN出现2503/2502解决方法
    关于yii2学习笔记:gii的使用
    nginx反向代理解决跨域
    树莓派4安装centos
  • 原文地址:https://www.cnblogs.com/l5580/p/6054043.html
Copyright © 2020-2023  润新知