現在我們要做的是能檢視訊息詳細資訊的 detail.php,它是透過 URL 參數來篩選資料的。請先開啟 index.php,為輸出標題的那格儲存格加上動態連結。
<td><a href="detail.php?id=<?php echo $row['nIndex']; ?>"> <?php echo $row['nTitle']; ?></a></td>
接著就能開始撰寫 detail.php 的 PHP 程式碼了。這部份和剛剛一樣都是使用 SELECT 指令建立資料集,只不過要多使用 WHERE 增加一個篩選條件而已。我們已經準備好 detail.php 的表格了,以下是它的 HTML,請跟著本文的指示操作:
<table> <tr><td colspan="2">查看詳細訊息</td></tr> <tr><td>標題</td><td> [編輯] [刪除]</td></tr> <tr><td>時間</td><td></td></tr> <tr><td>作者</td><td></td></tr> <tr><td>內容</td><td></td></tr> </table>
請在網頁原始碼的最上端加入以下程式碼,以建立資料集。
<?php require_once 'lib_mysql.php'; $db = new Mysql; $db -> init('localhost', 'root', 'root', 'web_announce', '', 'utf8mb4_general_ci'); $index = isset($_GET['id']) ? intval($_GET['id']) : -1; $result = $db -> select('*', 'news', "nIndex=$index"); ?>
接著請如下修改網頁的 HTML。多行文字欄位中的換行會以 \n 字元儲存在資料庫中,因此需使用 nl2br() 函式將 \n 字元轉換為 <br> HTML 標籤。nl2br 就是 New Line to BR 的意思。
<?php $row = $result -> fetch_assoc(); ?> <table> <tr><td colspan="2">查看詳細訊息</td></tr> <tr><td>標題</td><td><?php echo $row['nTitle']; ?> [編輯] [刪除]</td></tr> <tr><td>時間</td><td><?php echo date('Y年m月d日 H時i分s秒 D', strtotime($row['nTime'])); ?></td></tr> <tr><td>作者</td><td><?php echo $row['nName']; ?></td></tr> <tr><td>內容</td><td><?php echo nl2br($row['nContent']); ?> </td></tr> </table> <?php $result -> free(); ?>