Hallo jaylibII,
<?php $sql = "SELECT
ueberschrift,
textFROM
Test
WHERE anfang < '.time().' AND '.time().' < ende O
ORDER BY RAND() LIMIT 1
";
gibt ein `echo $sql;`{:.language-php} das aus was du vermutest?
> `$return = mysql_query($sql) OR die(mysql_error());`{:.language-php}
was sagt [mysql_num_rows()](http://de.php.net/mysql_num_rows) an dieser Stelle?
> `while($_data = mysql_fetch_assoc($return))`{:.language-php}
für einen Datensatz brauchst du keine Schleife ... :-)
~~~sql
> `anfang` timestamp(14) NOT NULL,
> `ende` timestamp(14) NOT NULL default '00000000000000',
schau dir die Ausgabe von time() mal an und dann das was in der Datenbank steht - du wirst feststellen, dass die beiden Ausgaben nicht das gleiche Format haben. Um die beiden Werte zu vergleichen musst du entweder den Wert in der Datenbank in einen Unix-Timestamp umwendeln, oder - besser - statt time() die MySQL-Funktion NOW() verwenden.
Grüße aus Nürnberg
Tobias