|
| |
|
|
| |
для: kasmanaft
(29.10.2006 в 19:05)
| | | Хорошо. Со временем я разобрался.
Еще небольшой вопросик:
Как сделать ввод телепрограмм в базу данных более удобным?
Можно ли как-то внести одним запросом например всю телепрограмму? | |
| |
|
|
| |
|
|
| |
для: kis-kis
(29.10.2006 в 18:25)
| | | Выводится все, где время больше текущего ... по крайней мере должно быть так.
Чтобы вывести только то, что идет в 17-00, можно собрать дату из php и написать запрос
SELECT * FROM tv_prog WHERE ch_time = полученная_дата
|
А можно практически этого же добиться при помощи MySQL:
SELECT * FROM tv_prog WHERE
YEAR(ch_time) = YEAR(NOW()) AND MONTH(ch_time) = MONTH(NOW()) AND
DAY(ch_time) = DAY(NOW()) AND HOUR(ch_time) = 17 AND MINUTE (ch_time) = 0
|
| |
| |
|
|
| |
|
|
| |
для: kasmanaft
(27.10.2006 в 20:29)
| | |
SELECT * FROM tv_prog WHERE ch_time > NOW()
|
При данном коде выводится все.
А как сделать вывод только того что идет, например в 17.00?
Можно полный код? Спасибо. | |
| |
|
|
| |
|
|
| |
для: kasmanaft
(27.10.2006 в 20:29)
| | | Вот, теперь ближе к истине.
Сейчас буду пробовать.
Спасибо. :-) | |
| |
|
|
| |
|
|
| |
для: kasmanaft
(27.10.2006 в 20:17)
| | | зашел на яндекс, проверить ... оказывается там несколько "режимов" ...
"сейчас" и "весь день"
в предыдущем посте о том, как делать "весь день" ...
а для того чтобы вывести только те записи, где время > текущего, делаем запрос
SELECT * FROM tv_prog WHERE ch_time > NOW()
|
Можно использовать mysql ф-ю interval :
SELECT * FROM tv_prog WHERE ch_time > NOW() - INTERVAL 10 MINUTE
|
Данный запрос вернет и передачи, которые начались 10 минут назад | |
| |
|
|
| |
|
|
| |
для: kasmanaft
(27.10.2006 в 20:17)
| | | Тогда как вывести три передачи которые идут в данный интервал времени (Например, сейчас 20.25)? | |
| |
|
|
| |
|
|
| |
для: kis-kis
(27.10.2006 в 20:01)
| | | На яндексе выводятся все записи ... а те передачи, что уже прошли просто другим цветом. То есть с запросом в БД ничего мудрить не нужно, выбираем все записи на сегодняшний день.
Итак нужно в зависимости от того, прошла передача или нет изменять цвет. При построении таблицы, если бы вы выводили все программы без учета времени, время в которое идет передача, вам бы пришлось "вытаскивать" из бд, и выводить .... а если перед выводом нужно изменить цвет, то "это время можно преобразовать в формат timestamp (ф-ей strtotime) ... затем полученное время сравнивать с результатом time( )"
То есть ... в БД у вас, допустим, время, когда идет передача, записано в формате "27-10-2006 22:20", вам нужно узнать прошло оно уже или нет ... что делаем:
<?php
$time = "27-10-2006 22:20";
$time = strtotime($time);
if ($time < time() ) // меньше текущего, то есть уже прошло
$color = 'black';
else $color = 'red';
?>
|
| |
| |
|
|
| |
|
|
| |
для: kasmanaft
(27.10.2006 в 19:17)
| | | Можно по-подробнее...
Нужно, чтобы юзер зайдя на сайт, допустим, в 16.00 увидел программу, которая идет именно в 16.00 или около того. Да что объяснять на Yandexe пример лучше не придумаешь... | |
| |
|
|
| |
|
|
| |
для: kis-kis
(27.10.2006 в 19:08)
| | | В смысле "с учетом времени сервера" ?
В таблицах будет записано время, когда будет идти передача ... это время можно преобразовать в формат timestamp (ф-ей strtotime) ... затем полученное время сравнивать с результатом time( ) | |
| |
|
|
| |
|
|
| |
для: NickCo
(27.10.2006 в 19:00)
| | | Как создать таблицы данным способом я знаю, просто думал можно как-то все проще сделать... Тогда вопрос, как сделать вывод, допустим, из данных таблиц, но с учетом времени сервера.
Допустим:
16.00 - Программа "Время"
17.30 Х/ф "Меченосец" и т.д. | |
| |
|
|
|