小白简单留言板(3)-将数据库信息写入网页

时间:2021-12-14 03:44:20

数据库数据传入网页

1.把HTML格式改为php格式

2. $db = new mysqli($host, $user, $pwd, $dbname);当$db->connect_errno !=0时即为连接失败,用die(“连接失败”)提示结束,找原因。

3.设置数据库字符集:$db->query(“SET NAMES UTF8”);//可将整个连接过程放入该目录的另一个文件如connect.php,要是用时可用include(‘connect.php’)调用,这样很方便,因为网页数据传入数据库也需要连接数据库;

4.$sql = “select * from msg order by id desc”;//sql语句存储,将数据库中的信息以id反向排序;

5. $db->query($sql);// 用来在数据库中执行此sql语句(上面),返回true或者false,可用来判断获取信息是否成功

6. $mysqli_result->fetch_array(MYSQL_ASSOC)// 获取$mysqli_result中最先的一行数据

7.在遍历$mysqli_result时 $rows[ ] = $row;  //把从数据库获得的数据存入$rows[ ],找了半天的bug。。。。

8.在网页输出板块中添加PHP代码,在foreach循环中把储存的$rows[ ]分别存入$row并输出到网页。

9. date("Y-m-d H:i:s", $row[‘time‘] //使用date(“格式”,$row[‘time’]),格式化日期;

 1 <?php //把留言板(1)中的文件格式改为php,修改后
 2     include("connect.php");//连接数据库
 3     $sql = "select * from msg order by id desc";
 4     $mysqli_result = $db->query($sql);
 5     if($mysqli_result === false){
 6         die("sql语句错误");    
 7     }
 8     //else echo "获取数据库信息成功";
 9     $rows = [];
10     //$mysqli_result->fetch_array(MYSQL_ASSOC))获取$mysqli_result中最先的一行数据
11     while($row = $mysqli_result->fetch_array(MYSQL_ASSOC)){
12         $rows[] = $row;//把每一行数据存入rows[]中
13         //echo "用户名:{$row[‘user‘]} <br/>";
14         //echo "内容;{$row[‘content‘]} <br/>";
15     }
16     //var_dump($rows);//判断是否获取成功
17     
18 ?>
19 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
20 <html xmlns="http://www.w3.org/1999/xhtml">
21 <head>
22 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
23 <title>留言板</title>
24 <style type="text/css">
25     .head {text-align:center;color:#FAA261;}
26     .wrap {
27         width:600px;
28         margin:0px auto;
29         //background:#390;
30     }
31     .input .content{
32         margin-bottom:5px;
33         width:594px;
34         height:150px;
35     }
36     .input .submit{float:right;}
37     .output {margin-top:5px;background:#CCC;padding:3px;margin-top:20px;}
38     .output .user{color:#95F;}
39     .output .time{float:right;color:#6C0;}
40 </style>
41 </head>
42 <body>
43     <div class="wrap">
44         <h1 class="head">留言板</h1>
45 
46         <!--输入板块 -->
47         <div class="input">
48             <form action="save.php" method="post">
49                 <textarea name="content" class="content" autofocus="autofocus" placeholder="请输入留言内容:" ></textarea><br/>
50                 <label for="text">用户名:</label>
51                 <input name="user" type="text" class="user"/>
52                 <input type="submit" class="submit" value="提交留言"/>
53             </form>
54         </div>
55 
56          <!--输出板块-->       
57          <?php
58             foreach($rows as $row){
59         ?>    
60             <div class="output">
61                     <span class="user">用户:<?php echo $row[‘user‘]; ?></span>
62                     <span class="time"><?php echo date("Y-m-d H:i:s",$row[‘time‘]);?></span>
63                 <div class="content">
64                         <?php echo $row["content"]; ?>
65                 </div>
66             </div>
67         <?php
68         }
69         ?>
70 
71        
72     </div>
73 </body>
74 </html>


 1 <?php//连接数据库
 2     $host = "127.0.0.1";
 3     $user = "root";
 4     $pwd = "root";
 5     $dbname = "mydb";
 6     $db = new mysqli($host, $user, $pwd, $dbname);
 7     //var_dump($db);
 8     if($db->connect_errno != 0){//判断数据库是否连接成功
 9         echo $db->connect_errno;
10         die("数据库连接失败");
11     }
12     //else echo"成功";
13     $db->query("SET NAMES UTF8");//设置数据库传输数据的编码,不然乱码
14 ?>