10.5 動態連結

  現在我們要做的是能檢視訊息詳細資訊的 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>&nbsp;[編輯]&nbsp;[刪除]</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']; ?>&nbsp;[編輯]&nbsp;
    [刪除]</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(); ?>