• 数据访问......单条件查询与多条件查询


    一. 将数据库数据访问封装成类

    <?php
    class DB
    {
      public $host = "localhost";  //服务器地址
      public $uid = "root";        //用户名
      public $pwd = "123";         //密码
      //执行SQL语句,返回相应结果的方法
      //$sql代表要执行的SQL语句,$type代表SQL语句类型;0代表查询,1代表其他;$db代表要操作的数据库.
      function Query($sql,$type=0,$db="mydb")    //默认为查询语句,操作的数据库为"mydb".
      {
        //1.造连接对象
        $dbconnect = new MySQLi($this->host,$this->uid,$this->pwd,$db);
        //2.判断是否出错
        !mysqli_connect_error() or die("连接失败!");
        //3.执行SQL语句
        $result = $dbconnect->query($sql);
        //4.判断是查询语句还是其他语句,若是查询语句则返回二维数组,否则返回true or false
        if($type==0)
        {
          return $result->fetch_all();
        }
        else 
        {
          return $result;
        }
      }
    }
    二. 单条件查询
    <?php
    include("DB.class.php");
    $db=new DB();
    $cx="";                     //先定义变量,方便下面使用
    $value="";
    if(!empty($_POST["name"])) //判断传过来的name值是否为空 
    {
      $name=$_POST["name"];
      $cx=" where Name like '%{$name}%'"; //查询字符串,注意where前面加空格,否则会出错
      $value=$name;
    }
    ?>
    <h1>汽车查询页面</h1>
    <form action="" method="post"> <!--在哪个页面显示就提交到哪个页面,若为空就提交到当前页面-->
      <div>请输入名称:
        
    <input type="text" name="name" value="<?php echo $value; ?>" />&nbsp;<!--点击查询后,查询关键字仍显示,可将value值设为$_post["name"]-->
         <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>   </tr>
    <?php
    $sql="select * from Car".$cx;
    $attr=$db->Query($sql); //只传一个参数sql,默认$type=0,$db="mydb"
    foreach($attr as $v)
    {
      //处理Name,让关键字特殊显示,可用替换字符串
      //$rp="<mark>{$value}</mark>";                 //查询关键字加上Mark标签
      $rp="<span style='color:red'>{$value}</span>"; //查询关键字加上span标签,通过span标签更改样式
      $str=str_replace($value,$rp,$v[1]);            //将$v[1]中的$value用$rp替换成为新字符串存在变量$str里
      echo "<tr>
        <td>{$v[0]}</td>
        <td>{$str}</td>
        <td>{$v[7]}</td>
        <td>{$v[4]}</td>
        <td>{$v[5]}</td>
        </tr>";    
    }
    ?> 
    </table>

    三. 多条件查询

    先将多个条件设定为恒等式,再判断条件是否为空,再拼接查询语句,注意条件前面加空格

    
    
    <h1>汽车查询页面</h1>
    <?php
        include("DB.class.php");
        $db=new DB();    
        $vn="";       //花括号里面的变量必须在外面先定义才能在下面继续引用,否则会报错:未定义变量
        $vb="";
        $tj1= "1=1";  //条件1的判断
        $tj2 = "1=1"; //条件2的判断
        if(!empty($_POST["name"]))  //判断: 若传过来的name不为空 
        {
            
            $tj1=" Name like '%{$_POST['name']}%'";  //注意Name前面的空格
            $vn=$_POST["name"];
        }
        if(!empty($_POST["brand"]))   //有几个条件就判断几次 
        {
            
            $tj2=" Brand ='{$_POST['brand']}'";  
            $vb=$_POST["brand"];
        }
        $cx=" where {$tj1} and {$tj2}";
    ?>
    <form action="" method="post">
        <div>请输入名称:
             <input type="text" name="name" value="<?php echo $vn; ?>" /> &nbsp;
             系列: 
             <input type="text" name="brand" value="<?php echo $vb ?>" /> &nbsp;
             <input type="submit" value="查询" />
        </div>
    </form>
    <br />
    <table width="800"  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".$cx;
        $attr=$db->Query($sql);     //只传一个参数sql,默认$type=0,$db="mydb"
        foreach($attr as $v)
        {
            //处理Name
            //$rp="<mark>{$value}</mark>";   //查询关键字加上Mark标签,突出关键字
            $rp1="<span style='color:red'>{$vn}</span>";   //查询关键字加上span标签,通过span标签更改样式
            $rp2="<span style='color:green'>{$vb}</span>";
            $str1=str_replace($vn,$rp1,$v[1]);
            $str2=str_replace($vb,$rp2,$v[2]);
            echo "<tr>
                    <td>{$v[0]}</td>
                    <td>{$str1}</td>
                    <td>{$str2}</td>
                    <td>{$v[7]}</td>
                    <td>{$v[4]}</td>
                    <td>{$v[5]}</td>
            </tr>";    
        }
        ?>    
    </table>   
        
    
    

     
  • 相关阅读:
    windows下安装elasticsearch和elasticsearch-head
    Java学习第四天之标识符与关键字
    Java学习第三天之注释
    Java学习第二天之Java程序的基本规则
    Java学习第一天之简单了解java语言及开发环境的安装
    rhel7下安装EPEL源
    Mac OS Catalina 如何删除自带的应用
    jetbrains全系列可用2018
    Windows中zabbix-agent的安装与卸载
    jumpserver修改账号密码以及jumpserver安装教程
  • 原文地址:https://www.cnblogs.com/xinghun/p/5483279.html
Copyright © 2020-2023  润新知