Für die Anzeige im Menü habe ich das bei mir wie folgt gemacht.
Vielleicht hilft Dir das weiter.
PHP-Code:
<?
////////////////////////// Ralley-Anzeige //////////////////////////////////
$now = time();
$res = db_query ('SELECT * FROM '.$db_prefix.'_ralleydaten ORDER BY sort DESC');
$ii = 0;
while ($ralleydaten = mysql_fetch_array($res)) {
$ii++;
if ($ii==1) menuehead("Unsere Rallies");
$b_r2s = ($now > $ralleydaten['start'] && $now < $ralleydaten['ende']);
$img_r2s = ($b_r2s) ? 'images/pfeil_g.gif' : 'images/pfeil_r.gif';
?>
<img src="<?=$img_r2s?>" alt="" /> <?=($b_r2s?'<b>':'');?><a href="index.php?content=/ralleys/<?=$ralleydaten['userdatei'];?>" title="<? echo ($b_r2s?'':'nicht '); ?>aktiv" id="ralley<?=$ii;?>"><?=$ralleydaten['bezeichnung'];?></a><?=($b_r2s?'</b>':'');?><br />
<?
}
if ( $ii > 0 ) menuefoot();
unset($now,$res,$ralleydaten,$ii,$ralleyname,$b_r2s,$img_r2s);
////////////////////////////////////////////////////////////////////////////
?>
Dafür habe ich noch die Spalten "bezeichnung", "userdatei" und "sort" in die Tabelle vms_ralleydaten eingefügt. In Spalte "bezeichnung" speichert man den Rally-Namen der angezeigt werden soll, in Spalte "userdatei" den Dateinamen der Rally-Übersicht (ohne .php-Endung, die URL wird daraus gebildet). Die Rallys-Anzeige erfolgt aufsteigend sortiert nach der Zahl die in der Spalte "sort" steht.
Außerdem müssen die Dateien "pfeil_g.gif" und "pfeil_r.gif" im Ordner "/images/" vorhanden sein.
Das ist so nur eine SQL-Abfrage deren Ergebnis-Datensätze in einer Schleife abgerufen werden wo die Daten in HTML gefasst und ausgegeben werden. Je mehr Rallys in der Tabelle existieren, desto mehr Datensätze werden aus der Datenbank abgerufen. Aber besser als wenn die gleichen Daten mit mehreren einzelnen SQL-Abfragen abgerufen werden.
Wenn nicht alle Datensätze aus der Tabelle vms_ralleydaten durch die Schleife ausgegeben werden sollen, dann könnte man die Tabelle um eine Spalte "anzeigen" oder ähnlich erweitern (Datentyp z.B. tinyint(1), Wert>0 bedeutet "ja, anzeigen") und die SQL-Abfrage erweitern um eine WHERE-Klausel, z.B. "WHERE anzeigen>0" (die WHERE-Klausel müsste oben dann vor die ORDER-BY-Klausel).
Viel Erfolg.