Ich habe mir gedacht pack ich es mal auf meine Homepage, dabei ist mir was aufgefallen.
Sagen wir du gibst 12 Datensätze aus d.h. auf Seite 1 sind dann 1 - 10 und auf Seite 2 11 - 12.
Allerdings steht da nicht 11 - 12 sondern 11 - 20. Das ist natürlich falsch weil wir ja nur 12 Einträge haben.
Deswegen habe ich da einfach mal den Code erweitert.
- Code: Alles auswählen
IF($ende > $gesamt){ $ende = $gesamt; }
Erklärung:
In einer Schleife wird geguckt ob $ende mehr ist als die gesammte Menge der Einträge, wenn das so ist wird $ende durch die Zahl der Einträge ersetzt.
Ich habe es einfach hier drann gehangen:
- Code: Alles auswählen
$num_sites = ceil($gesamt/$eintraege_pro_seite);
if(empty($_GET['site'])) {
$site = 1;
} elseif($_GET['site'] <= 0 || $_GET['site'] > $num_sites) {
$site = 1;
} else {
$site = $_GET['site'];
}
$links = array();
if($site != 1) {
$prev = $site-1;
$links[] = '<a href="seite.php?site='.$prev.'">«</a>';
}
for($i=1;$i<=$num_sites;$i++) {
if($i == $site) {
$links[] = $i;
} else {
$links[] = '<a href="seite.php?site='.$i.'">'.$i.'</a>';
}
}
if($site != $num_sites) {
$next = $site+1;
$links[] = '<a href="seite.php?site='.$next.'">»</a>';
}
$link_string = implode(" | ", $links);
$start = ($site-1)*$eintraege_pro_seite;
$start2 = $start+1;
$ende = $start+10;
Ich hoffe das ich das hier richtig poste und das ich nicht auch einfach was im Tut übersehen habe.
