2015-06-03 4 views
-1

Я делаю радиопланировщик. Он должен показать, какая программа включена.Расписание радио php

<?php header('Access-Control-Allow-Origin: *'); ?> 
<?php 
mysql_connect("localhost", "Dennis", "***") or die(mysql_error()); 
mysql_select_db("daletnew") or die(mysql_error()); 
date_default_timezone_set('Europe/Amsterdam'); 
$day = date('l'); 
$hour = date('H'); 


$query = "SELECT time_end FROM shows WHERE day='$day' AND time_start='$hour'"; 
$result = mysql_query($query); 

$query = "SELECT * FROM shows WHERE day='$day' AND time_start='$hour'"; 
$result = mysql_query($query); 
if (mysql_num_rows($result)==0) { 

echo '<div id="onair_info" style="position: relative; top: 40px;">'; 
echo '<br />'; 
echo '<div class="info_time_time" style="position: relative; left: 4px; color: #2980b9; font-size: 18px; font-family: Roboto; font-weight:300; top: -10px; ">'; 
echo "FavoriteFM Music"; 
echo '</div>'; 
echo '</div>'; 

} else { 

while ($row = mysql_fetch_assoc($result)) { 
    $show_name = $row['show_name']; 
    $DJ = $row['DJ']; 
     $time_start = $row['time_start']; 
     $time_stop = $row['time_stop']; 

     $sql1 = "SELECT * FROM DJ WHERE DJ='$DJ'"; 
$result1 = mysql_query($sql1); 

while($info1 = mysql_fetch_array($result1)) 
{ 
$image_url = $info1['image_url']; 
} 

echo '<div id="circle" style="position: relative; top: 40px; left: 175px; width:50px;height:50px; border-color:#00aeff; border-radius:50px; line-height:100px;text-align:center; background-repeat: no-repeat; background-image: url(' . $image_url . ');"></div>';  
echo '<div id="onair_info" style="position: relative; top: 0px;">'; 
echo '<div class="info_time_LIVE" style="position: relative; color: #2980b9; font-size: 12px; font-family: Roboto;top: -12px;left: 20px;">'; 
echo 'LIVE </div>'; 
echo '<div class="info_time_time" style="position: relative; left: 60px; color: #2980b9; font-size: 12px; font-family: Roboto;top: -26px;">'; 
echo $time_start; 
echo '</div>'; 
echo '<div class="arrow_to_right" style="position: relative; width:15px; top: -40px;left: 80px;height:15px; background-repeat: no-repeat; background-image:url(\'http://test.favoritefm.com/wp-content/themes/FavoriteFM/img/arrow_to_right.png\')"></div>'; 
echo '<div class="info_time_time" style="position: relative; left: 100px; color: #2980b9; font-size: 12px; font-family: Roboto;top: -55px;">'; 
echo $time_stop; 
echo '</div>'; 
echo '<br />'; 
echo '<div class="info_show" style="position: relative; top: -57px; left: 20px; color: #2980b9; font-size: 14px; font-family: Roboto;">'; 
echo '<div class="dj_name" style="font-size: 15px; font-family: Roboto; font-weight: bold";>'; 
echo $DJ; 
echo '</div>'; 
echo '<br />'; 
echo '<div class="show_name" style="font-size: 14px; font-family: Roboto;position: relative;top: -15px">'; 
echo $show_name; 
echo '</div>'; 
echo '</div>'; 
echo '</div>'; 
} 
} 

?> 

Очевидно, что это показывает, что ровно последний час. Но теперь у меня есть шоу, которые начинаются с 12 и заканчиваются в 16. Я не знаю, с чего начать и как это сделать. Как я могу заставить сценарий показывать радиопередачу между 12 и 16? У меня есть начало и время окончания в таблице als time_start и time_stop.

+0

Итак, что? Вы после SQL, чтобы вернуть все строки, где сегодня день, и текущее время> время начала, текущее время <время окончания? –

ответ

0

Попробуйте изменить свою вторую SQL строку следующим образом:

$query = "SELECT * FROM Shows WHERE day='$day' AND time_start<=$hour AND time_stop>$hour"; 
$result = mysql_query($query); 

Вы можете полностью удалить первый запрос SQL и сохранить все другой код того же. Он использует операторы сравнения SQL, которые возвращают радиопередачу, если текущий час находится между начальным и конечным часами. Используя ваш пример (12-16 часов), 12:15 и 15:50 вернули шоу, но 11:55 и 16:05 этого не сделали.

Редактировать: Убедитесь, что time_start и time_stop являются типами SQL Int и что $ hour является Int. Операторы сравнения не могут сравнивать строки.

+0

Он показывает пустые строки. :-( –

+0

Деннис, пожалуйста, уточните, что вы подразумеваете под «пустыми строками»: вы имеете в виду, что он ничего не возвращает? Или больше результатов, чем нужно? – BradzTech

+0

Это ничего не показывает. Даже если я использую этот запрос вручную, показывает '0' строки. –