Запрос к БД с получением информации за следующий месяц
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Запрос к БД с получением информации за следующий месяц - 2008-01-08 15:39:13.493333
|
|
|
[nux]
Сообщений: 557
Оценки: 0
Присоединился: 2004-04-22 02:59:22
|
Каким образом можно реализовать такой запрос к БД, что бы по результату получить данные на следующий месяц. Допустим у меня есть база в которой перечислены все праздники за год по датам на каждый месяц, 29 числа я хочу получать напоминание о праздничных днях на следующий месяц, даты в формате день.месяц.год. С запуском скрипта в нужный мне день проблем нет, помогает крон, а вот с выбором даты именно за следующий месяц проблема, как должен выглядеть такой запрос?
|
|
|
RE: Запрос к БД с получением информации за следующий месяц - 2008-01-08 20:37:28.803333
|
|
|
[nux]
Сообщений: 557
Оценки: 0
Присоединился: 2004-04-22 02:59:22
|
Возможно есть способ реализовать данный механизм не в запросе? Я че то совсем не вдупляю как это сотворить! :(
|
|
|
RE: Запрос к БД с получением информации за следующий месяц - 2008-01-08 23:23:06.086666
|
|
|
AdReNaL1Ne
Сообщений: 8027
Оценки: 350
Присоединился: 2005-09-11 06:38:05
|
Что именно не понятно? Как делать выборку данных с учётом определённой даты?
|
|
|
RE: Запрос к БД с получением информации за следующий месяц - 2008-01-09 04:43:12.780000
|
|
|
Lex_Voodoo
Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
|
WHERE ADDDATE(NOW(), INTERVAL 1 MONTH) При выводе (если нужно именно день.месяц.год) - юзать strftime
|
|
|
RE: Запрос к БД с получением информации за следующий месяц - 2008-01-09 13:48:29.736666
|
|
|
[nux]
Сообщений: 557
Оценки: 0
Присоединился: 2004-04-22 02:59:22
|
$result = pg_Exec ($conn, "SELECT state, name, surname, date, id, vocation, stucture, company, photo, mail from information where ADDDATE(NOW(), INTERVAL 1 MONTH) order by date;"); можно подробней про: ADDDATE(NOW(), INTERVAL 1 MONTH), че то не могу описание найти.
|
|
|
RE: Запрос к БД с получением информации за следующий месяц - 2008-01-09 15:00:51.106666
|
|
|
Lex_Voodoo
Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
|
quote:
ORIGINAL: [nux] че то не могу описание найти. http://www.google.com/search?client=opera&rls=en&q=site:mysql.ru+ADDDATE&sourceid=opera&ie=utf-8&oe=utf-8
|
|
|
RE: Запрос к БД с получением информации за следующий месяц - 2008-01-09 15:08:45.890000
|
|
|
[nux]
Сообщений: 557
Оценки: 0
Присоединился: 2004-04-22 02:59:22
|
А для postgresql есть нечто подобное?
|
|
|
RE: Запрос к БД с получением информации за следующий месяц - 2008-01-09 16:47:15.523333
|
|
|
[nux]
Сообщений: 557
Оценки: 0
Присоединился: 2004-04-22 02:59:22
|
Все нашел, спасибо. http://www.postgresql.org/docs/current/static/functions-datetime.html#FUNCTIONS-DATETIME-CURRENT
|
|
|
RE: Запрос к БД с получением информации за следующий месяц - 2008-01-21 17:51:58.320000
|
|
|
[nux]
Сообщений: 557
Оценки: 0
Присоединился: 2004-04-22 02:59:22
|
Пля, че то не прокатывает! Проблема в том что тип данных в поле date text! А поменять нет возможности!!!! зато есть вот такая конструкция: <? $real_month=date('m'); settype($real_month, "integer"); $str="Абырвалк:\n\n"; $month=array(0,31,28,31,30,31,30,31,31,30,31,30,31); $rows = pg_numrows($result); for ($row = 0; $row < $rows; $row++) { $r = pg_fetch_array($result, $row); $tok = strtok($r['date'],"."); $t=$tok-date('d'); $tok = strtok("."); $tt=$tok-date('m'); $v1=strtok($r['date'],".")+$month[$real_month]-date('d'); if ($tt==0 and $t==7 or $tt==0 and $t==3 or $tt==1 and $v1==7 or $tt==1 and $v1==3 ){ ?> Она производит отбор данных за остаток месяца, как бы мне переделать чтоб она отбирала данные за следующий месяц!
|
|
|
|
|