<div class="ptitel">News</div>
<?php
$sql = "SELECT * FROM news"; //Anstatt 'Tabelle' natürlich die betreffende Tabelle auswählen
$eintrage = mysql_num_rows(mysql_query($sql)); //Die Einträge der Tabelle herausholen
$maxproseite = 5; //Statt der 5 die maximale Anzahl der Einträe pro Seite angeben
$seiten = $eintrage / $maxproseite; //Anzahl der Seiten errechnen
if ($eintrage == "")
{
//wenn keine einträge da sind, fehler-meldung
echo "<div class=\"fehler\">Es sind keine News eingetragen worden</div>";
}
else
{ //sonst die ganz normale abfrage
if (!isset($_GET['page']))
{ //normalabfrage, wenn keine Seite gegeben ist.
$sql = "SELECT * FROM news ORDER BY id DESC LIMIT 0,".$maxproseite.";";
}
else
{ //Abfrage, wenn eine Seitenzahl gegeben ist.
$abeintrag = $_GET['page'] * $maxproseite - $maxproseite;
$sql = "SELECT * FROM news ORDER BY id DESC LIMIT ".$abeintrag.",".$maxproseite.";";
}
$news = mysql_query($sql);
function newsblaetter($eintrage, $maxproseite, $seiten) //die funktion für das blättern
{
//seiten errechnen:
$last = $_GET['page']-1;
if (!isset($_GET['page']))
{
$next = 2;
}
else
{
$next = $_GET['page']+1;
}
$lastp = round($seiten);
echo "<div align=\"center\">";
//verlinkung zur vorigen seite
if ((!isset($_GET['page'])) OR ($_GET['page'] == 1))
{
echo ""; //wenn man auf der 1. ist, gibt es kein zurück^^
}
else
{
//andererseites zurück
echo "<a href=\"?section=index&page=$last\"><<</a> · ";
}
//hier alle seiten ausgeben
for($i = 1; $i - 1 < $seiten; $i++)
{ //Ausgabe der Linkliste
if ($lastp == 0)
{
echo "<a href=\"?section=index&page=".$i."\">".$i."</a>";
}
else
{
echo "<a href=\"?section=index&page=".$i."\">".$i."</a> · ";
}
}
//die verlinkung >> (für die nächste seite
if ($_GET['page'] == $lastp)
{
echo ""; //falls man auf der letzten seite ist, keine verlinkung
}
else
{
echo "<a href=\"?section=index&page=$next\">>></a>"; //wenn man auf einer anderen ist, kann man auf weiterklicken
}
echo "</div>";
}
newsblaetter($eintrage, $maxproseite, $seiten); //ausgeben der seiten
echo "<p />";
$z = 0;
while ($n = mysql_fetch_array($news))
{
//user auslesen
$user = mysql_query("SELECT * FROM user WHERE `id`=".$n['aid']."");
$u = mysql_fetch_array($user);
if ($z%2 == 0) //die unterschiedlichen zeilenfarben ermitteln
{
echo "<div class=\"eintrag1\">";
}
else
{
echo "<div class=\"eintrag2\">";
}
echo "<b>".$n['titel']."</b>";
echo "<br />";
echo "".nl2br($n['news'])."";
echo "<br />";
echo "<div align=\"right\">Verfasst von ".$u['nickname']." / ".$n['erstellt']."</div>";
echo "<p />";
echo "</div>";
$z++;
}
echo "<p />";
newsblaetter($eintrage, $maxproseite, $seiten); //ausgeben der seiten
echo "<p />";
} //prüfung der einträge beenden
?>