如何對從 MySQL 檢索的 HTML 表格行進行排序?

Susan Sarandon
發布: 2024-11-07 00:02:02
原創
965 人瀏覽過

How to Sort HTML Table Rows Retrieved from MySQL?

對從 MySQL 檢索的 HTML 表行進行排序

在此場景中,我們有一個 HTML 表,其中填入了從 MySQL 資料庫取得的資料。目標是透過按一下列標題(類型、描述、記錄日期、新增日期)對表格行進行排序。

為了實現此目的,我們可以利用 PHP 和 MySQL 來處理排序邏輯。

HTML 結構

HTML 表格的結構如下:

<table>
  <thead>
    <tr>
      <th><a href="mypage.php?sort=type">Type</a></th>
      <th><a href="mypage.php?sort=desc">Description</a></th>
      <th><a href="mypage.php?sort=recorded">Recorded Date</a></th>
      <th><a href="mypage.php?sort=added">Added Date</a></th>
    </tr>
  </thead>
  <tbody>
    <?php while($row = mysql_fetch_array($result)): ?>
      <tr>
        <td><?php echo $row['type']; ?></td>
        <td><?php echo $row['description']; ?></td>
        <td><?php echo $row['recorded_date']; ?></td>
        <td><?php echo $row['added_date']; ?></td>
      </tr>
    <?php endwhile; ?>
  </tbody>
</table>
登入後複製

PHP邏輯

在PHP程式碼中,我們依照$_GET['sort' ]參數來處理排序。

<?php

$sql = "SELECT * FROM MyTable";

if (isset($_GET['sort'])) {
    switch ($_GET['sort']) {
        case 'type':
            $sql .= " ORDER BY type";
            break;
        case 'desc':
            $sql .= " ORDER BY description";
            break;
        case 'recorded':
            $sql .= " ORDER BY recorded_date";
            break;
        case 'added':
            $sql .= " ORDER BY added_date";
            break;
    }
}

$result = mysql_query($sql);

?>
登入後複製

MySQL查詢

SQL查詢會被修改依照使用者的選擇動態地包含適當的 ORDER BY 子句。

安全性注意事項

需要注意的是,在將使用者輸入合併到 SQL 查詢之前應該對其進行清理。這可以防止惡意使用者破壞資料庫。清理涉及驗證和過濾使用者輸入,以確保其不包含惡意字元或程式碼。

以上是如何對從 MySQL 檢索的 HTML 表格行進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板