Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Помогите с реализацией задачи
Форумы портала PHP.SU » PHP » Программирование на PHP » Помогите с реализацией задачи

Страниц (1): [1]
 

1. phpself - 03 Сентября, 2010 - 16:04:41 - перейти к сообщению
Добрый день, у меня есть запрос к БД (спс duk)
PHP:
скопировать код в буфер обмена
  1. SELECT DATE_FORMAT(dtime, '%d-%m-%Y'),
  2. SUM(IF(method=1,amount,0)) AS am_met_1,
  3. SUM(IF(method=1,bonus,0))  AS bonus_met_1,
  4. SUM(IF(method=2,amount,0)) AS am_met_2,
  5. SUM(IF(method=2,bonus,0))  AS bonus_met_2,
  6. SUM(IF(method=3,amount,0)) AS am_met_3,
  7. SUM(IF(method=3,bonus,0))  AS bonus_met_3,
  8. SUM(IF(method=4,amount,0)) AS am_met_4,
  9. SUM(IF(method=4,bonus,0))  AS bonus_met_4,
  10. SUM(amount) AS total_am,
  11. SUM(bonus)  AS total_bon
  12. FROM fn.fn_balance_in
  13. WHERE TO_DAYS('2010-07-01') - TO_DAYS(dtime) <= 30
  14. GROUP BY DATE_FORMAT(dtime, '%Y-%m-%d')  


Который вытягивает из базы, даты, суммы, бонусы, типы(method в БД) платежей и сортирует их в нужном мне порядке.

Типов всего 4: Карточка, Вебмани, Терминал, Счет

как написать функцию на пхп которая бы заполняла несуществующие даты и ставила нули в суммах и бонусах для каждого типа платежей? Пускай будет диапазон даты за месяц.

Вставлять в базу ничего не нужно, нужно работать с выбранными элементами из базы.

Очень прошу вашей помощи!!!
2. SAD - 03 Сентября, 2010 - 22:07:57 - перейти к сообщению
в базе сделайте по умолчанию значения 0 для полей суммы и бонус
3. duk - 03 Сентября, 2010 - 22:40:19 - перейти к сообщению
не поможет
4. JustUserR - 04 Сентября, 2010 - 11:47:06 - перейти к сообщению
phpself пишет:
Как написать функцию на пхп которая бы заполняла несуществующие даты и ставилаКнули в суммах и бонусах для каждого типа платежей? Пускай будет диапазон даты за месяц.
Для того чтобы использовать вывод нулевых значений из таблицы БД по некоторому заданному критерию можно использовать внешнее соединение - в частности вы указываете фиксированных набор строк в виде констант которые обязательно должны быть в выходной информации и размещаете их в левой части JOIN LEFT - и далее вы добавляете исходный запрос с условием соединения по конкретизирующему полю Таким образом в результирующем запросе будет выводиться по одной строке для тех данных к которым не было найден правого сопоставления - то есть в вашем случае даты без привязанных к ним значений

 

Powered by ExBB FM 1.0 RC1