在此場景中,我們有一個 HTML 表,其中填入了從 MySQL 資料庫取得的資料。目標是透過按一下列標題(類型、描述、記錄日期、新增日期)對表格行進行排序。
為了實現此目的,我們可以利用 PHP 和 MySQL 來處理排序邏輯。
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程式碼中,我們依照$_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); ?>
SQL查詢會被修改依照使用者的選擇動態地包含適當的 ORDER BY 子句。
需要注意的是,在將使用者輸入合併到 SQL 查詢之前應該對其進行清理。這可以防止惡意使用者破壞資料庫。清理涉及驗證和過濾使用者輸入,以確保其不包含惡意字元或程式碼。
以上是如何對從 MySQL 檢索的 HTML 表格行進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!