|
|
|
| С ТВ- программой не получилось...
А если проще, нужно вывести погоду только на сегодня.
Структура таблицы:
CREATE TABLE `weather` (
`id` int(11) NOT NULL default '0',
`day` text NOT NULL,
`date` text NOT NULL,
`t_morning` text NOT NULL,
`t_evening` text NOT NULL,
`climate` int(1) NOT NULL default '0',
`wind` text NOT NULL,
KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
|
Какой запрос к базе должен быть, чтобы вывод погоды был только на сегодня?
Спасибо. | |
|
|
|
|
|
|
|
для: kis-kis
(31.10.2006 в 19:08)
| | В каком формате хранится дата (date) и нельзя ли его преобразовать этот столбец в календарный тип DATETIME? | |
|
|
|
|
|
|
|
для: cheops
(31.10.2006 в 19:18)
| | Дату можно хранить в любом формате. В каком удобнее...
Преобразовать можно, если нужно. :-)
Есть предложения? | |
|
|
|
|
|
|
|
для: kis-kis
(31.10.2006 в 19:24)
| | Тогда можно поступить следующим образом
SELECT * FROM `weather` WHERE DATE(`date`) = DATE(NOW())
|
| |
|
|
|
|
|
|
|
для: cheops
(31.10.2006 в 19:28)
| | В данном случае формат даты должен быть DATETIME? | |
|
|
|
|
|
|
|
для: kis-kis
(31.10.2006 в 19:30)
| | Да, DATETIME или DATE. | |
|
|
|
|
|
|
|
для: cheops
(31.10.2006 в 19:36)
| | Хорошо. Так выводит.
Но теперь, самое главное НО:
Допустим, у меня на компьютере стоит не правильная дата, следовательно скрипт будет и погоду не правильную выводить. :-(
А посмотрим в тот же самый Yandex - главная страничка с погодой - правильная или не правильная стоит дата на компьютере, а скрипт, однако, выводит все правильно, как добиться этого?
Спасибо. | |
|
|
|
|
|
|
|
для: kis-kis
(31.10.2006 в 19:43)
| | Запрос будет выполняться на сервере, где выставлена правильная дата, дата клиента (правильная она или нет) при этом не учитывается. | |
|
|
|
|
|
|
|
для: cheops
(31.10.2006 в 19:46)
| | Так как это реализовать? | |
|
|
|
|
|
|
|
для: kis-kis
(31.10.2006 в 19:48)
| | Что никто не знает?
Или никому даже не интересно? | |
|
|
|
|
|
|
|
для: kis-kis
(31.10.2006 в 20:06)
| | Нашел как узнать время сервера MySQL
mysql> SELECT CURRENT_DATE;
|
Это никак нельзя использовать?
Попробовал такой запрос:
SELECT * FROM weather WHERE date = CURRENT_DATE()
|
Вроде работает, только вот не пойму время сервера он выводит или моего компьютера (тестируется на локалке)? | |
|
|
|
|
|
|
|
для: kis-kis
(31.10.2006 в 20:12)
| | Только что проверил на хостинге.
Все работает и опирается на время сервера.
Всем огромное спасибо!
Только снова возник вопрос, а если разница со временем сервера, например, 2 часа то как это исправить? | |
|
|
|
|
|
|
|
для: kis-kis
(31.10.2006 в 20:30)
| | Для этого можно вычесть или прибавить 2 часа
SELECT * FROM weather WHERE date = CURRENT_DATE() - INTERVAL 2 HOUR
|
| |
|
|
|