在此场景中,我们有一个 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中文网其他相关文章!