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";
}
}

?>
Als je de string ervan echo'ed ($sql) zou je de querie die uit zal worden gevoerd op je scherm zien.
Gebeurt dit niet, dan is er iets in je script fout.
Het ligt volgens mij aan de query die ik kreeg want met dat gedeelte laad hij helemaal niks uit de db en met mijn eigen query wel maar enkel dus eerste programma.

<?php
$now = date('H:i:s');
$sql = "SELECT * FROM programmering WHERE " . $now . " BETWEEN onair AND offair";
?>
Echo eens $sql, en voer dat eens in als query in phpMyAdmin?
Laat ook eens zien hoe je programma's in de database staan.
Wat heb je dan voor veldtype in de database?
Goed hier het voorbeeld mijn programmering tabel ziet er als volgt uit

CREATE TABLE IF NOT EXISTS `programmering` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`monday` tinyint(1) DEFAULT NULL,
`tuesday` tinyint(1) DEFAULT NULL,
`wednesday` tinyint(1) DEFAULT NULL,
`thursday` tinyint(1) DEFAULT NULL,
`friday` tinyint(1) DEFAULT NULL,
`saturday` tinyint(1) DEFAULT NULL,
`sunday` tinyint(1) DEFAULT NULL,
`onair` varchar(5) NOT NULL,
`offair` varchar(5) NOT NULL,
`program` varchar(100) NOT NULL,
`deejay` varchar(100) NOT NULL,
`information` longtext NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;

--
-- Gegevens worden uitgevoerd voor tabel `programmering`
--

INSERT INTO `programmering` (`id`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`, `onair`, `offair`, `program`, `deejay`, `information`) VALUES
(1, 1, 1, 1, 1, 1, NULL, NULL, '06:00', '10:00', 'Rush in the morning', 'Peter de Jong', 'Dit is een test.'),
(2, 1, 1, 1, 1, 1, NULL, NULL, '10:00', '16:00', 'Non Stop Hits', 'AutoDJ', ''),
(3, 1, 1, 1, 1, 1, 1, 1, '16:00', '17:00', 'Most requested songs', 'AutoDJ', ''),
(4, NULL, NULL, NULL, NULL, NULL, 1, NULL, '14:00', '18:00', 'Top 50 Most wanted', 'Rob van Dijck', ''),
(5, NULL, NULL, NULL, 1, NULL, NULL, NULL, '17:00', '18:00', 'Working late', 'Auto DJ', '');

En het script ziet er momenteel als volgt uit

<?php
$time = date ('H:i');
$extract = mysql_query ("SELECT * FROM programmering WHERE " . $time . " BETWEEN onair AND offair");

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

if ($time <$onair || $time >$offair)
{
echo "$program <br> $onair tot $offair uur";
}
}
?>

Een ander script maakt ook gebruik van deze tabel vandaar ook de dagen van de week die ertussen staan maar in dit script word daar geen gebruik van gemaakt.


[size=xsmall]Toevoeging op 17/11/2011 17:38:26:[/size]

Nog even snel een toevoegen als ik het script gebruik zoals ik hem heb staan dus hoe ik ermee begon en ik echo een $sql dan krijg ik het volgende:

Resource id #35

En dit is met het volgende script.

<?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'];

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

?>
<?php
$time = date ('H:i');
$extract = mysql_query ("SELECT * FROM programmering WHERE '" . $time . "' BETWEEN onair AND offair");

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

echo $program . '<br>' . $onair . ' tot ' . $offair . ' uur';
}
?>
He SanThe,

Hij werkt eindelijk met jou script ben er echt tevreden mee.
Heel erg bedankt voor je hulp.

Greetz
Peter

Reageren