У меня есть таблица MySQL, содержащая фиксированные цены-регистрации как ежемесячно, так и с определенной датой, которые выглядят так:
id int(10)
date date
userid int(10)
montly tinyint(1)
price decimal(10,2)
И некоторые данные могут быть
id | date | userid | monthly | price
1 | 01/01 2011 | 1 | 1 | 200
2 | 01/02 2011 | 2 | 1 | 300
3 | 14/01 2011 | 1 | 0 | 400
4 | 15/02 2011 | 3 | 0 | 100
5 | 23/02 2011 | 2 | 0 | 600
6 | 05/03 2011 | 2 | 0 | 700
Ежемесячная регистрация всегда начинается 1 числа месяца.
и если monthly
равно 1, это ежемесячная регистрация, в противном случае это происходит только один раз.
И запрос может быть (просто пример)
SELECT *
FROM `fixedpriceregistrations`
WHERE `date` BETWEEN '01/02 2011' AND '02/04 2011'
где я кроме этого вывода:
id | date | userid | monthly | price
1 | 01/01 2011 | 1 | 1 | 200
2 | 01/02 2011 | 2 | 1 | 300
4 | 15/02 2011 | 3 | 0 | 100
5 | 23/02 2011 | 2 | 0 | 600
1 | 01/01 2011 | 1 | 1 | 200
2 | 01/02 2011 | 2 | 1 | 300
6 | 05/03 2011 | 2 | 0 | 700
1 | 01/01 2011 | 1 | 1 | 200
2 | 01/02 2011 | 2 | 1 | 300
Могу ли я сделать это в MySQL или как лучше всего это сделать в PHP?
В PHP я думал о циклическом просмотре регистраций с датой и добавлении их в новый массив, а при изменении месяца добавляются ежемесячные регистрации.