результат формулы записать в БД

Главные вкладки

Аватар пользователя Dorian76453 Dorian76453 1 марта 2012 в 15:35

Всем привет. Думалка уже плохо работает, надеюсь на вашу помощь. Задачка вроде бы не сложная, но я только начинаю изучать php.
Есть тип материала Event с полем Date и тремя числовыми полями - количество участников: Взрослые (A), Дети (C), и Бесплатные(F).
В день создается по несколько десятков Eventov. На день проведения event'a также несколько десятков заявок.
Нужно: Взять все event'ы с date сегодня, посчитать по формуле A-C\2-F и записать это в БД в виде

Date 21.05.2012
Adult - 45
Child - 5
Free - 3
Result - 39.5

И так на каждый день. т.е. каждый день, это одна строка в таблице.
Подозреваю что лучше всего это (подсчет) сделать по крону, например каждый день в 00:00 (в это время уже заявки не принимаются).

Не подскажите как это лучше реализовать. С чего начать, и куда копать. Может есть готовые примеры? Буду очень вам признателен за помощь!

Комментарии

Аватар пользователя sg85 sg85 1 марта 2012 в 15:52

Я бы делал выборку напрямую из БД
может пригодится:
http://api.drupal.ru/api/group/database/6
http://www.mysql.ru/docs/man/SELECT.html
http://php.net/manual/ru/function.strtotime.php

в 6рке для каждого типа материала создается своя таблица, посмотреть нужную можно через phpMyAdmin

Со добавлением данных можно много чего придумать, начиная от нового типа материала, заканчивая использования своей таблицы, в этом случае понадобится делать свой полноценный модуль для, как минимум, отображения данных

Аватар пользователя Dorian76453 Dorian76453 1 марта 2012 в 17:06

Как я понимаю алгоритм такой:
1. Делаем запрос к БД к нужной мне таблице content_type_MYTYPE
2. Беру от туда данные из 4х нужных мне колонок. Это DATE - ADULT - CHILD - FREE
3. Группирую эти данные по дате DATE
Это я немного соображаю как сделать. а дальше без понятия Smile

4. Нужно объединить одинаковые значение DATE, а значения столбцов A C F суммировать. Т.е. получим строку с датой на один день, и с тремя столбцами с суммами значений A C F.

5. Затем подставить значения в формулу, и записать все в новую таблицу.

пункты 1-3 как я понял делаются с помощью
SELECT date_field, a_field, c_field, f_field FROM content_type_MYTYPE GROUP BY date

затем эти данные записываются как массив.

а вот пункт 4 - понятия не имею.

5 - тут работа с массивом + математические функции для php и через INSERT записать все в новую таблицу.

в нужную сторону думаю?