num_row-6ren">
gpt4 book ai didi

php - 在php中对mysql结果进行排序

转载 作者:行者123 更新时间:2023-11-29 22:35:14 24 4
gpt4 key购买 nike

当我使用以下代码时:

$result = queryMysql("SELECT * FROM games ORDER BY game ASC");
$num = $result->num_rows;

for ($j = 0 ; $j < $num ; ++$j)
{

$row = $result->fetch_array(MYSQLI_ASSOC);
echo "<input type='checkbox' name='game' value='$row['id']'>$row['game']<br>";
}

结果未按字母顺序显示。先有命运,后有战地。命运的 ID 为 1,战场的 ID 为 11。

为什么不排序?如果我在 PhpMyAdmin 中使用该命令,我会重新排序列表。

(对不起,如果这太简单了,但我在这里没有找到任何解决方案。所有都提到使用 ORDER BY,但这不起作用)。

From MyPhpAdmin

From Webpage

新代码更改为:
$result = queryMysql("SELECT * FROM games ORDER BY game ASC");

while ($row = $result->fetch_array(MYSQLI_ASSOC))
{
echo "<input type='checkbox' name='game' value='$row['id']'>$row['game']<br>";
}

还是行不通。这可能是服务器错误吗?

不知道这里发生了什么,但是经过 8 小时的 sleep 后,我重新加载了页面,它按应有的方式排序(仍然使用 Maximus2012 的示例)。
我想这一定是服务器故障,因为我在 sleep 时没有更改代码。

我将信任 Maximus2012 的快速响应!
(当然也要感谢所有其他人!)

最佳答案

替换这个:

$num    = $result->num_rows;
for ($j = 0 ; $j < $num ; ++$j)
{
$row = $result->fetch_array(MYSQLI_ASSOC);
echo "<input type='checkbox' name='game' value='$row['id']'>$row['game']<br>";
}

有了这个:(摆脱 $num 和 for 循环)
while ($row = $result->fetch_array(MYSQLI_ASSOC))
{
echo "<input type='checkbox' name='game' value='$row['id']'>$row['game']<br>";
}

看看这是否有效。您不需要 for 循环,因为无论如何您都没有在任何地方使用 $j 变量。此答案基于您的 MySQL 查询为您提供正确结果的假设。

关于php - 在php中对mysql结果进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29570181/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com