【问题标题】:How to count some number on a while loop and order them from the biggest number? [closed]如何在while循环中计算一些数字并从最大的数字开始排序? [关闭]
【发布时间】:2016-12-24 00:36:58
【问题描述】:

我有一家商店,在卖家部分我想成为前 8 名卖家。 帐户保存在另一个表上,用户保存在另一个表上。

我想获取用户,统计他们的销售数据,然后像前 8 名一样对他们进行排序。

我该怎么做,我需要什么?我完全不知道。

数据库有账户数据和价格列,所以我需要先计算价格。

【问题讨论】:

  • 有什么代码可以看一下吗?你尝试过什么吗?提示:加入、计数、分组依据、排序依据。
  • 在数据库查询中使用ORDER BY sales LIMIT 8。

标签: php mysql loops while-loop count


【解决方案1】:

首先,您需要选择您拥有的所有订单。
之后,您遍历它们并按用户 ID 对它们的订单求和:

$sums = array();
foreach($orders as $order){
    if(!isset($sums))
        $sums[$order['id_user']] = 0;
    $sums[$order['id_user']] += $order['order_value'];
    // order_value is sum of total products - meaning order value - I', not 
}

现在,$sums 数组填充了 user_id 的总支出。
现在您所要做的就是使用arsort (http://php.net/manual/en/array.sorting.php) 对它们进行排序

现在您有了数组,其中前 8 行是顶级买家。

【讨论】:

    猜你喜欢
    • 2021-03-21
    • 2011-09-29
    • 1970-01-01
    • 1970-01-01
    • 2016-06-13
    • 1970-01-01
    • 1970-01-01
    • 2015-02-11
    • 2012-11-21
    相关资源
    最近更新 更多