Beste mensen,

Zit met een scriptje in de knoop. Ik ben bezig met een script van een online radiostation. Nu moet dit script de programmering weergeven dus welk programma en welke deejay er op dit moment draaien.

Ik heb een tabel in mysql staan waar de onair tijden en offair tijden als 00:00 worden weergegeven. Het script heb ik op internet gevonden die ik een tikje heb aangepast maar het werkt niet. Want hij blijft het eerste programma weergeven die in die dag gepland staat.

<?php

$time = date ('H:i');

$extract = mysql_query ("SELECT * FROM programmering");

if ($row = mysql_fetch_assoc ($extract))
{
$onair = $row ['onair'];
$offair = $row ['offair'];
$program = $row ['program'];
$deejay = $row ['deejay'];

if ($time <$onair || $time >$offair)
{
echo "Nu: $program <br> Met: $deejay <br> $onair tot $offair uur";
}
}

?>
Je haalt ook maar één record op.
Kijk eens naar while().

Edit: Maak van if => while.
He SanThe,

Met while weergeeft hij de volledige programmering en dit is niet de bedoeling. hij moet echt het programma weergeven die op dat moment bezig is.
Moet dit
if ($time <$onair || $time >$offair)

dan niet dit zijn?
if ($time >$onair and $time <$offair)

Edit: Je kan natuurlijk beter de query aanpassen.
if ($time >$onair and $time <$offair) had ik ook al geprobeerd. maar dan weergeeft hij helemaal niks. het is echt dat bijvoorbeeld tussen 10:00 en 11:00 een programma Onair is dat hij dat programma dan tussen die tijden weergeeft op de site.

Maar tot nu toe ben ik helaas niet verder gekomen dan het eerste programma van die dag.
het is beter zoals SanThe zegt om dit in je query aan te passen, en dat je daarin kijken welke tijd het is. Ik raad aan om hiervoor DATETIME te gebruiken.
en hoe zou de code er dan uit komen te zien ben op dit moment beginner met datums en tijden en PHP/MySQL is tevens nog niet mijn sterkste taal. Ben al blij dat ik de basis begrijp ervan.
<?php
$now = date('H:i:s');
$sql = "SELECT * FROM programmering WHERE " . $now . " BETWEEN onair AND offair";
?>
Nou heb echt elke combinatie nu geprobeerd en niks schijnt dus te werken. Heel vreemd zelfs van de experts van PHP Hulp kom ik er niet uit.
Je voert de mysql_query() toch wel uit hè?
Echo anders eens $sql en kijk of deze klopt....

Ik zie dat Ger trouwens ook de secondes meerekent, en zie ik in jouw script namelijk niet.
Heb uiteraard de mysql_query() erbij gehouden en als ik de $sql echo dan gebeurt er helemaal niks.

Reageren