简单数组排序

时间:2015-11-19 18:47:10

标签: php mysqli

我已经阅读了关于排序数组的一百万个复杂问题。我有一些超级简单的东西,但我只是无法绕过它。

我的数据库中有一张表,其中包含游戏分数。列标签是team1_score和team_2得分。我意识到,如果所有分数都在一列中,我可以使用我的SQL查询对它们进行排序,但它们并非如此。

我需要知道如何从这些列中获取结果,并将它们从最高到最低排序,并理想地将它们分配给变量,例如$ first_place和$ second_place

对不起我是个菜鸟,我在来这里之前做了很多研究,所以请保持温和。

所以,我有这样的事......  我的节目跟踪儿童营地的分数,并有多个营地。每行都有id,camp_name,camp_logo,然后通过10个团队进入team1_name,team1_logo,team1_score等等。理想情况下,我希望查询获取所有这些分数,然后按照降序输出它们,例如First Place:xxx points(团队名称)(团队徽标)

我可以用这个分数......

  $query = "SELECT team1_score, team2_score FROM camps ";
  $scores = mysqli_query($connection,$query);
  $scores_array = mysqli_fetch_assoc($scores);
  arsort($scores_array);
  foreach ($scores_array as $key => $value) {
  echo "score - [" . $key . "] = " . $value . "\n";
  }

但我不知道如何将名称和徽标与这些键相关联。我希望这是有道理的。

1 个答案:

答案 0 :(得分:0)

这个可以实际上由SQL完成。您可以使用greatestleast分别获得最高和最低分数,然后按它们排序:

SELECT   GREATEST(team1_score, team2_score), 
         LEAST(team1_score, team2_score)
FROM     camps 
ORDER BY 1 DESC, 2 DESC