php - 重新排序 Mysql 查询结果
问题描述
我有以下 mysql 查询,其中 Id 是主键,从 1,2 ... 到 450 等自动递增。
$query = "SELECT Id, PromA, PromB, PromC FROM Promtab Order by Id DESC Limit 200";
$aresult = $con->query($query);
和以下 PHP 片段:
<?php
while($row = mysqli_fetch_assoc($aresult)){
echo "[".$row["Id"].", ".$row["PromA"].",".$row["PromB"].",".$row["PromC"]."],";
}
?>
当我使用当前查询和 php 代码时,我得到结果(Id
和Data
DESC order
):
Id, PromA, PromB, PromC
450 230 220 200
449 150 140 180
448 221 70 145
.
.
1 120 110 105
我需要的是这个(仅Id ASC order
,数据顺序不会改变):
Id, PromA, PromB, PromC
1 230 220 200
2 150 140 180
3 221 70 145
.
.
450 120 110 105
我怎么能简单地做到这一点?
谢谢。
解决方案
如果我对您的理解正确,您不希望查看针对行的实际 ID,而只是查看从 1 到 200 的数字序号(您有LIMIT 200
)。在这种情况下,您可以执行以下操作:
$query = "SELECT PromA, PromB, PromC FROM Promtab Order by Id DESC Limit 200";
$aresult = $con->query($query);
$id = 1;
while ($row = mysqli_fetch_assoc($aresult)) {
echo "[" . ($id++) . ", {$row['PromA']}, {$row['PromB']}, {$row['PromC']}]";
}
推荐阅读
- php - 从 WooCommerce 查询中获取订单 ID 和订单日期
- java - 消耗大量互联网数据的 Java(TM) Platform SE 二进制文件(后台 Maven)
- dojo - dojox.av.FLAudio 和 Adobe Flash 播放器
- angular - 如何以角度自动刷新页面/组件视图
- python - 当我的机器人应该只给触发它的用户一个角色时,它会给每个人一个角色
- python-3.x - 使用 Python 访问共享驱动器中的文件
- android - 在 Android 的单一活动应用程序中更改主题
- python - python xpath解析xml避免
- excel - 查找公式中的 VBA 变量范围
- java - 如何将Dialog的大小设置为全屏