Kakto-Tak
@Kakto-Tak

Как подсчитать какого товара сколько продано за месяц?

За месяц выводится из БД MySQL сколько было покупок и нужно в конце вывода отобразить сколько какого товара было продано в порядке убывания.
Пример:
spoiler

1. лампа 1шт
2. тостер 1шт
3. конверт 2шт
4. лампа 1шт
5. тостер 1шт
...
54. ручка 1шт
-----------
за месяц: лампа 2шт; тостер 2шт; конверт 2шт; ручка 1шт.

У меня мысль в том, что нужно сформировать массив, потом сложить "array_count_values" и его отсортировать "arsort".
но т.к. значения повторяются, часть данных пропадает при добавлении как $stack += [$sku=>$quantity];, либо я что-то делаю не так.
в таком варианте array_push($stack,[$sku=>$quantity]); отображаются все данные, но не работает "array_count_values".
А может я вообще изобретаю велосипед и есть другой метод?
  • Вопрос задан
  • 110 просмотров
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
- $stack += [$sku=>$quantity];
+ if (!arrray_key_exists($sku, $stack)) $stack[$sku] = 0;
+ $stack[$sku] += $quantity;

- $stack_sum = array_count_values($stack);
- foreach ($stack_sum as $key => $value)
+ foreach ($stack as $key => $value)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы