php - 在 While 循环中反转表格行
问题描述
我将行附加到具有分页的表中。我的数据库查询按 ASC 排序,这是我需要的,但记录的顺序应该在每一页上颠倒。所以第一页应该是最新的记录,但该页面应该在该页面上从最旧到最新排序。所以我的表应该是这样的:
Page 1
Date Type Registration
-----------------------------
9 Jan Van ZZASA
14 Jan Car ASDFS
19 Jan Van ASDFS
Page 2
Date Type Registration
-----------------------------
1 Jan Van ZZASA
4 Jan Bus ASDFS
5 Jan Van ASDFS
我在 WHILE 循环中添加行,如下所示:
while($row = mysqli_fetch_assoc($result)){
$tablerows .= '<tr>
<td>'.$row['date'].'</td>
<td>'.$row['type'].'</td>
<td>'.$row['registration'].'</td>
</tr>
}
如果我可以在 while 循环期间反转顺序,它会完美运行,但我不知道该怎么做。如果我将每个添加到数组中然后使用 array_reverse 函数,它会起作用吗?
解决方案
1. SQL 解决方案(推荐)
ORDER BY
在您的查询中使用:
ORDER BY date DESC
2.PHP解决方案
首先,使用以下方法获取所有结果集mysqli_fetch_all()
:
$rows = mysqli_fetch_all($result, MYSQLI_ASSOC);
然后,使用array_reverse()
:
$reverse_rows = array_reverse($rows);
推荐阅读
- c++ - 我正在尝试将 char* 转换为 float*
- php - 无法在 Codeigniter 中调整水印图像的不透明度和大小
- swift - 如何在运行时添加或删除 safari 内容阻止列表的规则
- google-apps-script - GAS 获取触发器状态(如果禁用则删除)
- amazon-web-services - 我们可以使用 AWS Lambda 使用本地目录服务对应用程序用户进行身份验证吗?
- php - 当我将变量移植到 HTML 代码中时,Laravel 5.5 返回解析错误
- javascript - 字节数组转换
- python - Python timedelta更新是随机减去2天
- javascript - 有没有一种方法可以在 express js 中的特定条件后执行函数
- html - 带有图标的 CSS 样式侧导航栏