zoukankan      html  css  js  c++  java
  • 单条件和多条件查询

    首先在数据库中,做这样一张汽车表:

    然后写代码,在页面中导出这张表

    再在上面加个文本框还有查询按钮

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>
    
    <body>
    <h1>汽车查询</h1>
    <?php
    $db = new MySQLi("localhost","root","726","shuang" );
    $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>
    <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}";
      echo $sql;
      $relsult = $db->query($sql);
      $attr=$relsult->fetch_all();
      foreach($attr as $v)
      {
                             //"<span style='color:red'>{$name}</span>"  这个方式也可以,让字体变红
         $str=str_replace($name,"<mark>{$name}</mark>",$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>
    </html>

    运行后:

    输入关键字“奥迪”

    单条件查询就做好了

    下面再来新建一个页面,做多条件查询

    先复制单条件查询页面的代码,在它的条件上增加,改变

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>
    
    <body>
    <h1>汽车查询</h1>
    <?php
    $db = new MySQLi("localhost","root","726","shuang" );
    $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="carduotiaojian.php" method="post">
    <div>请输入名称:
    <input type="text" name="name" />
    请输入系列代号:
    <input type="text" name="brand" />
    <input type="submit" value="查询" />
    </div>
    <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}";
      echo $sql;
      $relsult = $db->query($sql);
      $attr=$relsult->fetch_all();
      
      if(count ($attr)>0)    //判断有没有输出数据
      {
      
      foreach($attr as $v)
      {
                             //"<span style='color:red'>{$name}</span>"  这个方式也可以,让字体变红
         $str=str_replace($name,"<mark>{$name}</mark>",$v[1]);
          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>";
          
          }
      }
      else
      {
          echo  "<script> alert ('没有查到数据');</script>";
      }
    ?>
    </table>
    </body>
    </html>

    在这里又多加了一个查询条件,有几个查询条件,就加几个if

    这里有两个

    如果两个文本只填一个的话也是可以的,如果输入名称“宝马”   系列号“b004”

    如果两个都不填,然后查询,返回的还是默认全部的值

    如果随便填一个没有的值,则会弹出对话框:

    要注意返回的地址是否正确,不然就不会运行成功

  • 相关阅读:
    DFS染色解决区域分块问题UVALive 6663
    栈之逆波兰
    线段树总结
    区间合并问题
    线段树的开闭区间问题
    离散化
    线段树的学习过程
    BFS的小结
    状态数组哪家强
    卡特兰数。
  • 原文地址:https://www.cnblogs.com/qishuang/p/6211174.html
Copyright © 2011-2022 走看看