Skip to main content

Alles für die Homepage... Scripte, Templates, Workshops und Support

Blätterbares Jahresarchiv

Mit diesem Code kann man aus einem vorgegebenen Jahresbereich ein durchblätterbares Verzeichnis erstellen.

Der Beispielcode mit Erläuterungen

Dieser Code erstellt aus einem Wertebereich ein blätterbares Verzeichnis, dabei wird ein Selectfeld ausgegeben welches die aktuelle Jahreszahl anzeigt und zwei Links die jeweils ein Jahr vor und ein Jahr weiter darstellen.

Normalerweise wird man sich die Jahreszahlen aus den gespeicherten Daten ermitteln, hier im Bespiel wird dazu ein Array mit – 10 und + 5 Jahren – ausgehend vom aktuellen Datum – erstellt. range erstellt daraus dann ein Array im gegebenen Wertebereich. in_array prüft ob die Jahreswerte plausibel sind – also ob die überhaubt in dem Array $range vorkommen.

Nun wird mit der for Schleife der Wertebereich durchlaufen und das aktuelle Jahr auf selected gesetzt.

Im Abschnitt Blaettern durch die Jahre werden die Links zum vorhergehenden/nächsten Jahr erstellt, ist der niedrigste/höchste Wertebeich erreicht wird nicht zum nächsten Jahr verlinkt.

CODE:
<?php
$zeit         = time ();
$datum         = getdate ($zeit);

$start         = $datum['year'] - 10; 
$ende         = $datum['year'] + 5;

$range         = range($start, $ende);

if(isset($_GET['year'])) { 
$year = intval($_GET['year']);
} else {
$year = $datum['year'];
}

$year = in_array($year, $range) ? $year : $datum['year'];


$option = '<form action="archiv.php" method="get"><select name="year" size="1" onchange="submit()">';
    for($i = $start; $i <= $ende; $i++) {
    $selected = $i == $year ? ' selected' : '';
    $option .= '<option value="'.$i.'"'.$selected.'>'.$i.'</option>';
    }
$option .= '</select><input type="submit" value="GO"></form>';

echo $option;


// Blaettern durch die Jahre
$prev_link = $year > $start ? '<a href="archiv.php?year='.($year - 1).'">'.($year - 1).'</a>' : $year;
$next_link = $year < $ende ? '<a href="archiv.php?year='.($year + 1).'">'.($year + 1).'</a>' : $year;

echo '<br>'. $prev_link . ' ' . $next_link;
?>

Ausgabe des Scriptes
xx

Anzeige


Ähnliche Beiträge



Keine Kommentare vorhanden


Du hast eine Frage oder eine Meinung zum Artikel? Teile sie mit uns!

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *