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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите с реализацией задачи

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
phpself
Отправлено: 03 Сентября, 2010 - 16:04:41
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Апр. 2010  


Помог: 0 раз(а)




Добрый день, у меня есть запрос к БД (спс 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: Карточка, Вебмани, Терминал, Счет

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

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

Очень прошу вашей помощи!!!
 
 Top
SAD
Отправлено: 03 Сентября, 2010 - 22:07:57
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




в базе сделайте по умолчанию значения 0 для полей суммы и бонус
 
 Top
duk
Отправлено: 03 Сентября, 2010 - 22:40:19
Post Id



Частый гость


Покинул форум
Сообщений всего: 208
Дата рег-ции: Февр. 2010  
Откуда: Москва


Помог: 3 раз(а)




не поможет
 
 Top
JustUserR
Отправлено: 04 Сентября, 2010 - 11:47:06
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




phpself пишет:
Как написать функцию на пхп которая бы заполняла несуществующие даты и ставилаКнули в суммах и бонусах для каждого типа платежей? Пускай будет диапазон даты за месяц.
Для того чтобы использовать вывод нулевых значений из таблицы БД по некоторому заданному критерию можно использовать внешнее соединение - в частности вы указываете фиксированных набор строк в виде констант которые обязательно должны быть в выходной информации и размещаете их в левой части JOIN LEFT - и далее вы добавляете исходный запрос с условием соединения по конкретизирующему полю Таким образом в результирующем запросе будет выводиться по одной строке для тех данных к которым не было найден правого сопоставления - то есть в вашем случае даты без привязанных к ним значений


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB