![]() | |
| |||||||
| Home | Register | Blogs | FAQ | Members List | Calendar | Downloads | Arcade | Mark Forums Read |
| Web Development Java/PHP/Perl/ASP and more |
![]() |
| | LinkBack | Thread Tools | Display Modes |
| | #1 |
| инсценирующий жизнь | [Help Needed] SQL Request. Getting each day of date period. I have, a table containing events, and need to show them up in a calendar, for a month. Here is the table I have. Code: 1. +------+--------------------+-------------------+------------+ | id | start_date | end_date| text | +------+--------------------+-------------------+------------+ | 1 | 2007-09-12 00:00:00|2007-09-12 23:59:59| Party | | 2 | 2007-09-13 00:00:00|2007-09-13 23:59:59| Concert | | 3 | 2007-09-13 00:00:00|2007-09-17 23:59:59| Festival | | 4 | 2007-09-15 00:00:00|2007-09-15 23:59:59| Exhibition | | 5 | 2007-09-16 00:00:00|2007-09-16 23:59:59| Shooting | +------+--------------------+-------------------+------------+ Code: 2 +------+-----------+ | day | Text | +------+-----------+ | 12| Party | | 13| Concert | | 13| Festival | | 14| Festival | | 15| Festival | | 15| Exhibition| | 16| Festival | | 16| Shooting | | 17| Festival | +------+-----------+ Order, doesn't really matter, currently. So you can ignore, this as well as the time part of DATETIME. Ideally, I need, to get, smth like : Code: 3 +------+--------------------------+ | day | Text | +------+--------------------------+ | 12| Party | | 13| Concert <br> Festival | | 14| Festival | | 15| Festival <br> Exhibition | | 16| Festival <br> Shooting | | 17| Festival | +------+--------------------------+ First table could also be done, through php, but I'd prefer to do it with MySQL, rather then processing "raw data" with PHP. I'm sure this all can be done though MySQL, but i'm just out of ideas.
__________________ ...ибо... Rgrdz. [ Кселджэн ] |
| | |
| | #2 |
| Главный Лысый | Поиграйся с group by dayofmonth(start_date). Что то типа select dayofmonth(start_date), text group by dayofmonth(start_date) Если нужна добавка и месяца то select month(start_date), dayofmonth(start_date), text group by month(start_date), dayofmonth(start_date) Должно работать для мускула. Про другие движки не знаю.
__________________ Ruben Muradyan Technical Director PanARMENIAN Network: Armenian News ---------------------------------------------------- Лысина - это полянка, вытоптанная мыслями. ---------------------------------------------------- |
| | |
| | #3 |
| инсценирующий жизнь | Сделал, это через пхп, так как дизайнеру, нужна была большая степень свободы в шаблоне, и там уже полюбому нужно было, лопатить массивы, так что делать это в двух местах глупо. Но вопрос остается, тут загводка в том, как средствами ДБ из диапазона типа 2007-09-10 2007-09-15 получить, 6 строк, с датой каждого дня. тут как раз нужен какой-нибудь ungroup, а не group ![]() Либо каким то еще макаром заставить выводить его, одну и ту же запись, несколько раз. Остается еще изврат с созданием временной таблицы с перечнем всех дней месяца, но тут овчинка уже ни по одному критерию, не стоит выделки.
__________________ ...ибо... Rgrdz. [ Кселджэн ] |
| | |
| | #4 |
| 4294967296 Join Date: Mar 2002 Location: /proc/1
Posts: 378
Rep Power: 7 Reputation:
10 |
__________________ Free your mind and your OS will follow |
| | |
| | #5 | ||
| Младенец | Quote:
Օրինակ MSSQL-ի մեջ ռեկուրսիվ կանչերով նման բան կարելի է սատանալ: Համենայն դեպս MySQL-ի համար, ժամանակավոր table օգտագործելով կարելի է էդ խնդիրը լուծել, բայց թե որքանով է դա հարմար, կախված է քո պահանջներից: Quote:
| ||
| | |
| | #6 |
| Академик | Rekurskia chka MySQL um ed hastat, ORacle um ka, MS SQL um el, baycMySQL um chka u ed nshanakuma ed xndri lucman hamar miak tarberak zamanakavor axusyaki ogtagorcumna ![]() |
| | |
| | #7 |
| наивная дурочка | Lorem ipsum dolor sit amet.
__________________ Я поняла, любовь - страна, Где каждый человек - притворщик. |
| | |
| | #8 |
| Registered User Join Date: Jun 2008 Location: -
Posts: 3
Rep Power: 0 Reputation:
10 | Если вам так принципиально нужно сделать это в код SQL, используете MySQL версии 5 и выше. Этот сервер поддерживает хранимые процедуры. В них доступны if/then/else, case, while, repeat, loop, goto Напишите процедуру и вызывайте её. Впрочем это будет работать медленее чем PHP. Подумайте насчет написать функцию PHP которая будет слоем абстракции между SQL вызовом и остальым кодом PHP. (Т.е. она тянет из БД данные, обрабатывает и выдает нужный вам массив). |
| | |
![]() |
| Thread Tools | |
| Display Modes | |
| |
Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| New ebooks / Новые книги | acid | TWARM | 141 | May 5, 2008 23:11 |
| SQL query for Access.MDB file doesn't work,F1 | Xman | Languages, Compilers and Interpreters | 1 | Oct 14, 2006 11:11 |
| В Армении сыграли первую однополую свадьбу | acid | News | 588 | Jul 22, 2006 15:17 |
| Help!Help!help! | Awful | Unix | 56 | Sep 21, 2005 12:32 |
| mail lists management | noch | Web Development | 4 | Apr 14, 2003 17:10 |