首页  >  文章  >  数据库  >  如何对从 MySQL 检索的 HTML 表行进行排序?

如何对从 MySQL 检索的 HTML 表行进行排序?

Susan Sarandon
Susan Sarandon原创
2024-11-07 00:02:02921浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn