Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: ТВ программа

Сообщения:  [1-10]    [11-20]  [21-24] 

 
 автор: kis-kis   (31.10.2006 в 20:39)   письмо автору
 
   для: kasmanaft   (29.10.2006 в 19:05)
 

Хорошо. Со временем я разобрался.
Еще небольшой вопросик:

Как сделать ввод телепрограмм в базу данных более удобным?
Можно ли как-то внести одним запросом например всю телепрограмму?

   
 
 автор: 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

   
 
 автор: kis-kis   (29.10.2006 в 18:25)   письмо автору
 
   для: kasmanaft   (27.10.2006 в 20:29)
 


SELECT * FROM tv_prog WHERE ch_time > NOW()


При данном коде выводится все.
А как сделать вывод только того что идет, например в 17.00?
Можно полный код? Спасибо.

   
 
 автор: kis-kis   (27.10.2006 в 20:32)   письмо автору
 
   для: kasmanaft   (27.10.2006 в 20:29)
 

Вот, теперь ближе к истине.
Сейчас буду пробовать.
Спасибо. :-)

   
 
 автор: 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 минут назад

   
 
 автор: kis-kis   (27.10.2006 в 20:27)   письмо автору
 
   для: kasmanaft   (27.10.2006 в 20:17)
 

Тогда как вывести три передачи которые идут в данный интервал времени (Например, сейчас 20.25)?

   
 
 автор: kasmanaft   (27.10.2006 в 20:17)   письмо автору
 
   для: 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';
?>

   
 
 автор: kis-kis   (27.10.2006 в 20:01)   письмо автору
 
   для: kasmanaft   (27.10.2006 в 19:17)
 

Можно по-подробнее...
Нужно, чтобы юзер зайдя на сайт, допустим, в 16.00 увидел программу, которая идет именно в 16.00 или около того. Да что объяснять на Yandexe пример лучше не придумаешь...

   
 
 автор: kasmanaft   (27.10.2006 в 19:17)   письмо автору
 
   для: kis-kis   (27.10.2006 в 19:08)
 

В смысле "с учетом времени сервера" ?
В таблицах будет записано время, когда будет идти передача ... это время можно преобразовать в формат timestamp (ф-ей strtotime) ... затем полученное время сравнивать с результатом time( )

   
 
 автор: kis-kis   (27.10.2006 в 19:08)   письмо автору
 
   для: NickCo   (27.10.2006 в 19:00)
 

Как создать таблицы данным способом я знаю, просто думал можно как-то все проще сделать... Тогда вопрос, как сделать вывод, допустим, из данных таблиц, но с учетом времени сервера.

Допустим:
16.00 - Программа "Время"
17.30 Х/ф "Меченосец" и т.д.

   

Сообщения:  [1-10]    [11-20]  [21-24] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования