Ich habe für meine eigene Seite mal folgendes gebastelt und es funktioniert gut:
PHP-Code:
// Seitenfunktion
function read_forum_pages($page) {
$itemsperpage = 20; // Wie viele Einträge pro Seite?
if(ISSET($page)){
$end = $page * $itemsperpage; // Letzter Eintrag
$start = $end - $itemsperpage; // Erster Eintrag
$limit = "SELECT * FROM tabelle LIMIT ".$start.", ".$itemsperpage; // SQL-Abfrage basteln
} else {
$limit = "SELECT * FROM tabelle LIMIT 0, ".$itemsperpage; // SQL-Abfrage basteln
}
return $limit;
}
PHP-Code:
function show_forum_pages($forum_id) {
$itemsperpage = 20; // Einträg epro Seite
$sql = "SELECT * FROM eintraege WHERE forum_id =".$forum_id; // SQL Anfrage
$db_erg = mysql_query($sql); // Anfrage
$beitraege = mysql_num_rows($db_erg); // Anzahl d. Datensätze
$seiten_raw = $beitraege / $itemsperpage; //Bsp: 67/20 = 3.35
$seiten = ceil($seiten_raw); // Aufrunden auf 4
echo 'Seiten: ';
for($i = 1;$i <= $seiten;$i++) {
if($page == $i) {
echo '<b>'; // Seitenzahl ggf. fett schreiben
}
echo '<a href="index.php?section=forum&forum_id='.$forum_id.'&page='.$i.'">'.$i.'</a> '; // Link machen
if($page == $i) {
echo '</b>'; // Seitenzahl ggf. fett schreiben
}
}
}