Проверка времени сервера для отображения записей SQL - плагин Radio Station DJ Rotator - PullRequest
0 голосов
/ 18 ноября 2011

Я создаю плагин для WordPress, который будет создавать ротатор DJ радиостанции "On-Air Now".Мне нужна помощь с логикой.

Панель рабочих опций, которую я построил до сих пор: screen shot of my plugin

Я основал эту идею на PHP-выражении case, которое я написал в 2007 году, когда вы указаливремя запуска ди-джея, которое затем проверяется временем сервера.(См. Код: https://github.com/gregrickaby/Jock-Rotator/blob/master/mod_jock.php)

Я просто не знаю, как закодировать логику показа только ОДНОГО DJ в течение его / ее запланированного ВРЕМЯ-КАДРА. * Например; 6a-9a.

Будет ли это?

script: "привет сервер, который час?"

сервер: «сейчас 6:25 утра»

сценарий: «хорошо, база данных - это 6:25 утра ... кто запланирован?»

база данных: "neal boortz"

script: "спасибо, сэр. Теперь я напишу немного HTML"

Что я построил до сих пор: https://github.com/gregrickaby/DJ-Rotator-for-WordPress/blob/master/dj-rotator-for-wordpress.php

РЕДАКТИРОВАТЬ: РЕШЕНО

Спасибо @Scott за предложение. Это было именно то, что мне нужно было увидеть.

if $ day равно сегодня, а $ start_time меньше или равно $ сейчас И $ end_time больше или равно $ сейчас , затем напишите некоторый контент.

Код ниже работает. Спасибо!

$day = date('w');
$now = date('Hi'); 
 foreach((array)$jrwp_images as $image => $data) {
  if($data['days'] == $day && $data['start_time'] <= $now && $data['end_time'] >= $now)
   echo '<!-- the content here -->' 
 }

1 Ответ

0 голосов
/ 18 ноября 2011

Не могли бы вы просто запустить SQL-запрос, который в основном говорит:

SELECT * FROM deejays WHERE start_time >= $now AND end_time <= $now

Предполагая $now = time()

Это означало бы преобразование времени начала и окончания в метки времени перед их вставкой вБД, но вы можете посмотреть на strtotime(), это довольно простой процесс (возможно, вам придется изменить требуемый формат с 600/900 и т. д. на 06: 00.

...