36)PHP,获取数据库数据并在html中显示(晋级3)

首先展示我的html代码和php文件的位置关系:

然后我的php文件:

 1 <?php
 2     class db
 3     {
 4         public $host ;//= "localhost";//定义默认连接方式
 5         public $User;//= "root";//定义默认用户名
 6         public $Pwd;//= "root";//定义默认的密码
 7         public $Dbname ;//= "thkphp5";//定义默认的数据库名
 8         public $my_sql;
 9         public $link;
10         public $result;
11         /*
12          * 构造函数
13          * 主机名,使用者,使用者密码,数据库的名字,查询语句
14          */
15         public function __construct($config) {
16         $this->host=$config['host'];
17         $this->User=$config['user'];
18         $this->Pwd=$config['pwd'];
19         $this->Dbname=$config['dbname'];
20         $this->my_sql=$config['sql'];
21       $this->link=  $this->connect();
22       $this->result=  $this->Query($this->my_sql);
23         }
24     
25         //成员方法   是用来执行sql语句的方法
26         /*
27          * 数据库查询函数
28          * $sql   string   是你的查询语句
29          */
30         public function Query($sql)
31             //两个参数:sql语句,判断返回1查询或是增删改的返回
32         {
33             $db = $this->connect();
34             $r = $db->query($sql);
35             if (isset($r)) {
36                 return $r->fetch_all();//查询语句,返回数组.执行sql的返回方式是all,也可以换成row
37             } else {
38                 return "数据库查询失败!";
39             }
40     
41     
42         }
43         /*
44          * 数据库连接函数
45          */
46         public function connect(){
47             $Link= mysqli_connect($this->host,$this->User,$this->Pwd,$this->Dbname);
48             return $Link;
49         }
50         
51     }
52     $sql='select * from zixun;';
53     $config=array('host'=>"localhost",'user'=>"root",'pwd'=>"root",'dbname'=>"thkphp5",'sql'=>$sql);
54    $shujuku=new db($config);
55 
56 
57   include './login.html';
58 //var_dump($shujuku->result);
59 
60 ?>

然后我的html代码:

 1 <!-- 模板文件,利用HTML代码展示数据 -->
 2 <!DOCTYPE html>
 3 <html lang="en">
 4 <head>
 5     <meta charset="UTF-8">
 6     <title>比赛列表</title>
 7 </head>
 8 <body>
 9 
10 <table>
11     <tr>
12         <th>ZX_id</th><th>ZX_name</th><th>ZX_fenlei</th><th>ZX_zuozhe</th><th>更新时间</th><th>浏览次数</th><th>发布状态</th>
13     </tr>
14     <?php foreach($shujuku->result as $row) : ?>
15     <tr>
16         <td><?php echo $row[0];?></td>
17         <td><?php echo $row[1];?></td>
18         <td><?php echo $row[2];?></td>
19         <td><?php echo $row[3];?></td>
20         <td><?php echo $row[4];?></td>
21         <td><?php echo $row[5];?></td>
22         <td><?php echo $row[6];?></td>
23     </tr>
24     <?php endForeach;?>
25 </table>
26 </body>
27 </html>

然后我的结果展示:

改进的部分是:就是把之前的在__construct()函数中传值,一个一个的对应传入,变成了,我的数组$config,这样传入数据,其实,我还是可以在弄一个配置文件的,然后载入配置文件,将结果输入到我的主php文件的__construct()函数中。

数据库代码展示:

 1 CREATE DATABASE `thkphp5` ;
 2 use thkphp5 ;
 3 create table zixun(
 4     ZX_id int  not null auto_increment primary key comment '咨询ID号',
 5     ZX_name VARCHAR(80) NOT NULL COMMENT '咨询标题',
 6     ZX_fenlei varchar(80) not null  comment '资讯分类',
 7     ZX_zuozhe varchar(80)  not null  comment '资讯作者',
 8     gengxin_time DATETIME NOT NULL DEFAULT '2016-01-01 01:01:01' COMMENT '更新时间',
 9     liulan_cishu int NOT NULL  COMMENT '浏览次数',
10     fabu_zhuangtai VARCHAR(50) NOT NULL COMMENT '发布状态'
11 )engine=MyISAM charset=utf8;
12 INSERT  into zixun(ZX_id, ZX_name, ZX_fenlei, ZX_zuozhe, gengxin_time, liulan_cishu, fabu_zhuangtai) values(10001, 'PHP', '理论', '王超', '2017-08-07 11:58:01', 100, '草稿');
13 INSERT  into zixun(ZX_id,ZX_name,ZX_fenlei,ZX_zuozhe,gengxin_time,liulan_cishu,fabu_zhuangtai) values(10002,'C语言','理论','王超','2017-08-07 11:58:01',100,'草稿');
14 INSERT  into zixun(ZX_id,ZX_name,ZX_fenlei,ZX_zuozhe,gengxin_time,liulan_cishu,fabu_zhuangtai) values(10003,'JAVA语言','理论','王超','2017-08-07 11:58:01',100,'草稿');
15 INSERT  into zixun(ZX_id,ZX_name,ZX_fenlei,ZX_zuozhe,gengxin_time,liulan_cishu,fabu_zhuangtai) values(10004,'Mysql语言','理论','王超','2017-08-07 11:58:01',100,'草稿');
16 INSERT  into zixun(ZX_id,ZX_name,ZX_fenlei,ZX_zuozhe,gengxin_time,liulan_cishu,fabu_zhuangtai) values(10005,'html','理论','王超','2017-08-07 11:58:01',100,'草稿');
17 INSERT  into zixun(ZX_id,ZX_name,ZX_fenlei,ZX_zuozhe,gengxin_time,liulan_cishu,fabu_zhuangtai) values(10006,'spring','理论','王超','2017-08-07 11:58:01',100,'草稿');
18 INSERT  into zixun(ZX_id,ZX_name,ZX_fenlei,ZX_zuozhe,gengxin_time,liulan_cishu,fabu_zhuangtai) values(10007,'scence','理论','王超','2017-08-07 11:58:01',100,'草稿');
19 INSERT  into zixun(ZX_id,ZX_name,ZX_fenlei,ZX_zuozhe,gengxin_time,liulan_cishu,fabu_zhuangtai) values(10008,'computer','理论','王超','2017-08-07 11:58:01',100,'草稿');
20 INSERT  into zixun(ZX_id,ZX_name,ZX_fenlei,ZX_zuozhe,gengxin_time,liulan_cishu,fabu_zhuangtai) values(10009,'math','理论','王超','2017-08-07 11:58:01',100,'草稿');
21 INSERT  into zixun(ZX_id,ZX_name,ZX_fenlei,ZX_zuozhe,gengxin_time,liulan_cishu,fabu_zhuangtai) values(100010,'english','理论','王超','2017-08-07 11:58:01',100,'草稿');
22 INSERT  into zixun(ZX_id,ZX_name,ZX_fenlei,ZX_zuozhe,gengxin_time,liulan_cishu,fabu_zhuangtai) values(10011,'word','理论','王超','2017-08-07 11:58:01',100,'草稿');
23 INSERT  into zixun(ZX_id,ZX_name,ZX_fenlei,ZX_zuozhe,gengxin_time,liulan_cishu,fabu_zhuangtai) values(10012,'jsp','理论','王超','2017-08-07 11:58:01',100,'草稿');
24 INSERT  into zixun(ZX_id,ZX_name,ZX_fenlei,ZX_zuozhe,gengxin_time,liulan_cishu,fabu_zhuangtai) values(10013,'CSS','理论','王超','2017-08-07 11:58:01',100,'草稿');
原文地址:https://www.cnblogs.com/xiaoyoucai/p/7356876.html