Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Ежедневные цены и INSERT, UPDATE, SUM по диапазонам дат.
|
|||
|---|---|---|---|
|
#18+
Доброго всем здравия. Столкнулся с очередной заковыристой задачей. (MySQL MariaDB-10.1.21) Имеется таблица с ценами на помещения, сдающиеся в аренду посуточно. Цена хранится на каждый день и за каждое помещение. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Из php-формы получаю две даты (диапазон) - дата начала и дата окончания действия цены. Если нужно изменить/добавить цену за один день, то обе даты просто одинаковые. Пример данных из формы: Код: php 1. 2. 3. 4. Что нужно: 1. записывать/обовлять диапазон строк по указанным датам если запись в БД на указаные [помещение и дату] есть - обновить, иначе - добавить 2. получать сумму на указанный диапазон дат 3. проверять(искать) отсутствующие дни от сегодняшнего на (N) месяцев вперёд. Чтобы при дальнейшем подсчёте суммы сделки, не оказалось "бесплатных" дней. Что непонятно как сделать: 1. По п.1 нагуглил INSERT ... ON DUPLICATE KEY UPDATE тут https://dev.mysql.com/doc/refman/5.7/en/insert-on-duplicate.html Вроде-бы оно, однако, не уверен в применении уникальных индексов на поле `price_date` - для разных помещений точно будут одинаковые даты. Поэтому - не подходит. Аналогичного решения под свою структуру не нашёл, а городить php-циклы с кучей запросов к БД кажется глупо. 2. По п.3 так-же, кроме php-циклов с кучей запросов на ум инчего не приходит. Типа сделать часть календаря на php и долбить запросами БД - имхо глупо и брутфорсно как-то. 3. По индксам в БД - не уверен, что правильно расстивил индексы в таблице там или два отдельных, или один составной, или оба варианта - подскажите у кого есть опыт. Что, как мне кажется, знаю, но может быть подскажите решение получше: По п.3 - посчитать сумму сделки - вроде-бы полно примеров в сети Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Буду весьма признателен за любую помошь. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2017, 19:35 |
|
||
|
Ежедневные цены и INSERT, UPDATE, SUM по диапазонам дат.
|
|||
|---|---|---|---|
|
#18+
Кажется, понял про INSERT ... ON DUPLICATE KEY UPDATE Можно-же сделать составной индекс уникальным Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. p.s. жаль, что нельзя редактировать свои сообщения, даже которые еще без ответа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2017, 19:47 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39491159&tid=1830535]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 342ms |

| 0 / 0 |
