Добрый день. Задание состоит в том, что бы из базы выбрать все транзакции и отсортировать их по дням.
таблица БД:
bid uid dtime amount method payid bonus
1 8 2010-07-01 13,00 3 н\а 3,00
2 8 2010-07-01 15,00 2 н\а 5,00
3 8 2010-07-01 18,00 1 н\а 6,00
3 9 2010-07-02 17,00 4 н\а 7,00
Как должно выглядеть в хтмль:
Дата пополнения Карточка Webmoney Терминал Счет ИТОГО
2010-07-01 18,00|6,00 15,00|5,00 13,00|3,00 0|0 36,00|14,00
2010-07-02 0|0 0|0 0|0 17,00|7,00
Применял запрос:
$query = "SELECT dtime, SUM(amount), SUM(bonus), method
FROM fn.fn_balance_in
WHERE TO_DAYS('2010-07-01') - TO_DAYS(dtime) <= 30
GROUP BY DATE_FORMAT(dtime, '%Y-%m-%d')";
$result = mysql_query($query);
(Добавление)
что то мои таблицы, особенно вторую скосило...
сумма|бонус - к каждому методу платежа
1. phpself - 02 Сентября, 2010 - 11:35:30 - перейти к сообщению
2. duk - 02 Сентября, 2010 - 11:55:13 - перейти к сообщению
фраза
GROUP BY DATE_FORMAT(dtime, '%Y-%m-%d')";
смысла не имеет. Группировать надо по полю, которое получится в результате выборки, например GROUP BY dtime
А вообще не понятно, как в хтмл могут быть такие поля ка терминал, если они все сольются в одно, группировка то идет по дате
GROUP BY DATE_FORMAT(dtime, '%Y-%m-%d')";
смысла не имеет. Группировать надо по полю, которое получится в результате выборки, например GROUP BY dtime
А вообще не понятно, как в хтмл могут быть такие поля ка терминал, если они все сольются в одно, группировка то идет по дате
3. phpself - 02 Сентября, 2010 - 12:01:48 - перейти к сообщению
duk пишет:
фраза
GROUP BY DATE_FORMAT(dtime, '%Y-%m-%d')";
смысла не имеет. Группировать надо по полю, которое получится в результате выборки, например GROUP BY dtime
А вообще не понятно, как в хтмл могут быть такие поля ка терминал, если они все сольются в одно, группировка то идет по дате
GROUP BY DATE_FORMAT(dtime, '%Y-%m-%d')";
смысла не имеет. Группировать надо по полю, которое получится в результате выборки, например GROUP BY dtime
А вообще не понятно, как в хтмл могут быть такие поля ка терминал, если они все сольются в одно, группировка то идет по дате
Терминал - это тип платежа который в базе как метод = 3, по этому платежу нужно вывести за день общую сумму пополнений и бонусов, так же в этот день нужно включить суммы других типов. Я смог сделать только общий итоговый вывод, который, подсчитывает все суммы и бонусы за день. А как "разбросать" суммы по методам в один день ..?
Уже второй день пытаюсь это реализовать. поиск уже реально надоел, поэтому решил спросить на форуме.
4. duk - 02 Сентября, 2010 - 12:08:44 - перейти к сообщению
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- $query = "SELECT dtime, SUM(amount), SUM(bonus), method
- FROM fn.fn_balance_in
- WHERE TO_DAYS('2010-07-01') - TO_DAYS(dtime) <= 30
- GROUP BY dtime, method";
этот код получит статистику по платежам с разбивкой по дате и методу