Flitze
|
Administrator
|
|
registriert
|
17.10.2006
|
wohnt in
|
Eschwege
|
Beiträge
|
332
|
|
Hey ulmli!
Sry, dass ich dich übersehen habe ^^ Klar kannste noch fragen stellen 
Wäre nur leichter, wenn du deinen bisherigen Code mal posten würdest, damit ich dir 'direkt' weiterhelfen kann..
Grundsätzlich musst du dir einfach nur überlegen, was unter welchen Umständen passieren soll. Also denk ich mir mal als Beispiel ne Datenbestand von 50 Seiten aus.
Code:
+----------------+-----------------------------------+
| Aktuelle Seite | Anzeige |
+----------------+-----------------------------------+
| 1 | 1 2 3 ... 50 > |
| 8 | < 1 ... 6 7 8 9 10 ... 50 > |
| 35 | < 1 ... 33 34 35 36 37 ... 52 > |
| 48 | < 1 ... 46 47 48 49 50 > |
| 50 | < 1 ... 48 49 50 |
+----------------+-----------------------------------+
Wir brauchen also eine Logik, die aufgrund der aktuellen Seite eine Ausgabe erstellt und zwar: gib 2 Seiten vor der aktuellen Seite, die aktuelle Seite und 2 Seiten nach der aktuellen Seite aus.
Zusatz: Gibt es keine 2 Seiten vorher oder nachher, dann ignoriere den Rest (z.B. bei Seite 1, 2, 49 und 50).
Also wird jetzt erstal ermittelt, welche Seiten angezeigt werden sollen
PHP:
<?php
$min_page = ($aktuelle_Seite-2>1)?($aktuelle_Seite-2):1;
$max_page = ($aktuelle_Seite+2<$Seiten_gesamt)?($aktuelle_Seite+2):$Seiten_gesamt;
?>
Die Struktur solltest du glaub kennnen: (Bedingung)?(falls ja) sonst das)
So, dann gehts weiter mit der eigentlichen Ausgabe:
PHP:
<?php
// Prüft, ob die Anzeige von "<" sinnvoll ist
if ($aktuelle_Seite != 1)
echo "<a href=\"seite.php?page=".($aktuelle_Seite-1)."\"><</a> \n";
// prüft ob die erste Seite im min-max-Bereich ist
if($min_page>1)
echo "<a href=\"seite.php?page=1\">1</a> ... \n";
for($i=$min_page; $i<=$max_page; $i++) {
if ($i==$aktuelle_Seite)
echo $i."\n";
else
echo "<a href=\"seite.php?page=".$i."\">".$i."</a>\n";
}
// prüft ob die letzte Seite im min-max-Bereich ist
if($max_page<$Seiten_gesamt)
echo " ... <a href=\"seite.php?page=".$Seiten_gesamt."\">".$Seiten_gesamt."</a>\n";
// Prüft, ob die Anzeige von ">" sinnvoll ist
if ($aktuelle_Seite != $Seiten_gesamt)
echo " <a href=\"seite.php?page=".($aktuelle_Seite+1)."\">></a> \n";
?>
Joa, das ist es dann auch eigentlich
|
ulmli
|
Forenuser
|
|
registriert
|
03.01.2007
|
wohnt in
|
|
Beiträge
|
46
|
|
hi flitze,
danke für die antwort, ich war die letzten tage nicht sonderlich fleissig somit habe ich da auch nicht weiter gemacht, macht also nix daste mich übersehen hast :-) .
find das forum nach wie vor gut und würde es echt schade finden wenn es dies net mehr gäbe
ich werde es mal probieren, jepp daran habe ich nicht gedacht den code zu posten, sorry.
grüßle und vielen dank
ulmli
Dieser Beitrag wurde am 30.10.2007 um 17:48:37 Uhr von ulmli zum 1. Mal editiert.
|