来自数据库的Php foreach按正确顺序排列

时间:2015-10-22 07:15:24

标签: php database foreach

什么可能导致我的foreach没有以正确的顺序回应我的数据库用户的问题(比如我的数据库中的顺序?

我的基本foreach看起来像这样:

foreach($users as $user) {
     echo $user[username];
}

3 个答案:

答案 0 :(得分:1)

更改

echo $user[username];

echo $user['username'];

您可以使用以下方法验证确切的键值:

 print_r($user);

答案 1 :(得分:0)

希望这是您查询的问题 您在查询中尝试 SQL ORDER BY 。它默认按升序/降序对记录进行排序。

答案 2 :(得分:0)

由于我们不知道您的数据库是如何制作的,而且您还没有向我们展示您用于选择数据的查询,我将尝试解释您如何按照您想要的顺序选择数据/需要。

假设您的表格为MyUsers并包含以下列:

  • MyUserID
  • 用户名

如果您想选择按ID排序的数据,请使用以下查询:

SELECT * FROM MyUsers ORDER BY MyUserID

PHP代码中,您将拥有以下内容:

foreach($users as $user) {
   echo $user['Username']; // Ordered by ID
}

如果您想通过用户名订购它们:

SELECT * FROM MyUsers ORDER BY Username

PHP将是相同的,但此时间值将按用户名(A-Z)排序。

注意:在查询中使用ORDER BY总是好的,因为我们不能依赖默认的行顺序。

有关详细信息,特别是如果您是SQL / MySQL的新手,我建议您查看以下链接:

祝你好运,我希望这能帮到你!