• PHP-----作业题:显示详细信息


    显示详细信息(详细信息按钮点击(AJAX) 显示 弹窗)

    封装类代码:

      1 <?php
      2 class DBDA
      3 {
      4     public $host="localhost";//服务器地址
      5     public $uid="root";//用户名
      6     public $pwd="";//密码
      7     
      8     public $conn;//连接对象
      9     //操作数据库的方法
     10     //$sql代表需要执行的SQL语句
     11     //$type代表SQL语句的类型,1代表查询,0代表增删改
     12     //$db代表要操作的数据库名称
     13     //如果是查询,返回二维数组
     14     //如果是其他语句,返回true或false
     15     function __construct($db="mydb")
     16     {
     17         //造连接对象
     18         $this->conn = new MySQLi($this->host,$this->uid,$this->pwd,$db);
     19     }
     20         public function Query($sql,$type=1)
     21         {
     22             //判断是否出错
     23             !mysqli_connect_error() or die("连接失败!");
     24             //执行SQL语句
     25             $result = $this->conn->query($sql);
     26             
     27             //判断SQL语句类型
     28             if($type==1)
     29             {
     30                 //如果是查询语句,返回结果集的二维数组
     31                 return $result->fetch_all();
     32             }
     33             else
     34             {
     35                 //如果是其他语句,返回true或false
     36                 return $result;
     37             }
     38         }
     39         //Ajax调用返回JSON
     40         public function JsonQuery($sql,$type=1,$db="mydb")
     41         {
     42             //定义数据源
     43             $dsn = "mysql:dbname={$db};host={$this->host}";
     44             //造pdo对象
     45             $pdo = new PDO($dsn,"{$this->uid}","{$this->pwd}");
     46             //准备执行SQL语句
     47             $st = $pdo->prepare($sql);
     48             //执行预处理SQL语句
     49             if($st->execute())
     50             {
     51                 if($type==1)
     52                 {
     53                     $sttr = $st->fetchAll(PDO::FETCH_ASSOC);
     54                     return json_encode($attr);
     55                 }
     56                 else
     57                 {
     58                     if($st)
     59                     {
     60                         return "OK";
     61                     }
     62                     else
     63                     {
     64                         return "NO";
     65                     }
     66                 }
     67             }
     68             else
     69             {
     70                 echo "执行失败!";
     71             }
     72         }
     73         //Ajax调用返回字符串
     74         public function StrQuery($sql,$type=1)
     75         {
     76             //判断连接是否成功
     77             !mysqli_connect_error() or die("连接失败!");
     78             //执行SQL语句
     79             $result = $this->conn->query($sql);
     80             //判断SQL语句类型
     81             if($type==1)
     82             {
     83                 $attr = $result->fetch_all();
     84                 $str = "";
     85                 //如果是查询语句返回字符串
     86                 for($i=0;$i<count($attr);$i++)
     87                 {
     88                     for($j=0;$j<count($attr[$i]);$j++)
     89                     {
     90                         $str = $str.$attr[$i][$j];
     91                         $str = $str."^";
     92                     }
     93                     $str = substr($str,0,strlen($str)-1);
     94                     $str = $str."|";
     95                 }
     96                 $str = substr($str,0,strlen($str)-1);
     97                 return $str;
     98             }
     99             else
    100             {
    101                 //如果是其他语句,返回true或false
    102                 if($result)
    103                 {
    104                     return "OK";
    105                 }
    106                 else
    107                 {
    108                     return "NO";
    109                 }
    110             }
    111         }
    112         function PdoQuery($sql,$type=1,$db="mydb")
    113         {
    114             //造数据源
    115             $dns = "mysql:host={$this->host};dbname={$db}";
    116             //造pdo对象
    117             $pdo = new PDO($dns,$this->uid,$this->pwd);
    118             //准备一条SQL语句
    119             $stm = $pdo->prepare($sql);
    120             //执行预处理语句
    121             $r = $stm->execute();
    122             if($r)
    123             {
    124                 if($type==1)
    125                 {
    126                     return $stm->fetchAll();
    127                 }
    128                 else
    129                 {
    130                     return "OK"; 
    131                 }
    132             }
    133             else
    134             {
    135                 return "NO";
    136             }
    137             
    138         }
    139 }
    封装类页面

    主页面代码:

     1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     2 <html xmlns="http://www.w3.org/1999/xhtml">
     3 <head>
     4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     5 <title>无标题文档</title>
     6 <link href="../tanchuang.css" rel="stylesheet" type="text/css" />
     7 </head>
     8 <script src="../jquery-1.11.2.min.js"></script>
     9 <script src="../tanchuang.js"></script>
    10 
    11 <?php
    12 include("../DBDA.php");
    13 $db = new DBDA();
    14 
    15 ?>
    16 <body>
    17 <table width="100%" border="1" cellpadding="0" cellspacing="0">
    18 <tr>
    19 <td>汽车名称</td>
    20 <td>汽车类型</td>
    21 <td>上市时间</td>
    22 <td>操作</td>
    23 </tr>
    24 <?php 
    25 $sql = "select * from car";
    26 
    27 $attr = $db->Query($sql);
    28 
    29 foreach($attr as $v)
    30 {
    31     echo "
    32     <tr>
    33     <td>$v[1]</td>
    34     <td>$v[2]</td>
    35     <td>$v[3]</td>
    36     <td><input type='button' value='查看详情' class='ck' code='{$v[0]}' /></td>
    37     </tr>
    38     ";
    39 } 
    40 ?>
    41 </table>
    42 </body>
    43 <script type="text/javascript">
    44 $(document).ready(function(e) {
    45     $(".ck").click(function() {
    46         //找主键值
    47         var code = $(this).attr("code");
    48         
    49         //根据主键查询具体数据
    50         $.ajax({
    51             url:"xqchuli.php",
    52             data:{code:code},
    53             type:"POST",
    54             dataType:"TEXT",
    55             success: function(data){
    56                 var lie = data.split("^");
    57                 var html = "<div class='xq'>代号: "+lie[0]+"</div><div class='xq'>汽车名称: "+lie[1]+"</div><div class='xq'>汽车系列:"+lie[2]+"</div><div class='xq'>上市时间: "+lie[3]+"</div><div class='xq'>油耗: "+lie[4]+"</div><div class='xq'>功率: "+lie[5]+"</div><div class='xq'>排量: "+lie[6]+"</div><div class='xq'>价格: "+lie[7]+"</div>";
    58                 //var button ="";
    59                 var win = new Window({
    60                 
    61                 width : 300, //宽度
    62                 height : 400, //高度
    63                 title : '汽车详情信息', //标题
    64                 content : html, //内容
    65                 isMask : true, //是否遮罩
    66                 //buttons : button, //按钮
    67                 isDrag:true, //是否移动
    68                 
    69                 });
    70             }
    71         });
    72     });
    73 });
    74 </script>
    75 </html>
    主页面

    处理页面代码:

    1 <?php
    2 $code = $_POST["code"];
    3 include("../DBDA.php");
    4 $db = new DBDA();
    5 $sql = "select * from car where code = '{$code}'";
    6 $attr = $db->Query($sql);
    7 echo implode("^",$attr[0]);
    处理页面

    显示结果:

  • 相关阅读:
    http://www.bugku.com:Bugku——SQL注入1(http://103.238.227.13:10087/)
    [笔记]一道C语言面试题:大整数乘法
    [笔记] Access Control Lists (ACL) 学习笔记汇总
    [笔记]如何将传统的回调函数转换为C#5.0支持的await格式
    6.链接与导航
    9章 下拉菜单
    11章圆角框 本章很重要 经常用到
    原来链接与导航
    7竖直排列的导航菜单
    8.水平导航菜单
  • 原文地址:https://www.cnblogs.com/chenchen0815/p/5615651.html
Copyright © 2020-2023  润新知