Erst eine for-Schleife mit den Seiten 1 bis 3, dann eine for-Schleife von Seite $max-3 bis $max ($max = Nummer der letzten Seite = Anzahl Seiten, wenn erste Seite = 1). Beachten musst Du den Fall, in dem $max < 2 * $grenze, denn dann überschneiden sich die beiden Schleifen, bei $max = 4 wäre die Ausgabe "1 2 3 2 3 4". Deshalb die if-Abfrage und in der zweiten Schleife der darauf zurückgreifende Vergleich $grenze != $max.
$max = 50;
$grenze = 3;if ($max < 2 * $grenze ) {
$grenze = $max;
}for ($i = 1; ($i <= $grenze); $i++) {
echo "rhabarber" . $i;
}for ($i = $max - $grenze + 1; ($i <= $max) && ($grenze != $max); $i++) {
echo "mehr rhabarber" . $i;
}Vielen Danke!
Hallo!
das funktioniert nun soweit :-) !!!
So sieht nun mein Code aus:
################## Seiten blättern
if($next > 0)
{
$back=$next-$zeilen_pro_seite;
if($back < 0)
{
$back = 0;
}
echo '<a href="ausgabe4.php?next='.$back.'">[<< zurück]</a> ';
}
if($anzahl>$zeilen_pro_seite)
{
$Seiten=intval($anzahl/$zeilen_pro_seite);
if($anzahl%$zeilen_pro_seite)
{
$Seiten++;
}
}
$max = $Seiten;
$grenze = 3;
if ($max < 2 * $grenze ) {
$grenze = $max;
}
for ($i = 1; ($i <= $grenze); $i++) {
$fwd=($i-1)*$zeilen_pro_seite;
echo '<a href="ausgabe4.php?next='.$fwd.'">'.$i.'</a> ';
}
for ($i = $max - $grenze + 1; ($i <= $max) && ($grenze != $max); $i++) {
if ($max != $grenze):
echo " ... ";
break;
endif;
}
for ($i = $max - $grenze + 1; ($i <= $max) && ($grenze != $max); $i++) {
$fwd=($i-1)*$zeilen_pro_seite;
echo '<a href="ausgabe4.php?next='.$fwd.'">'.$i.'</a> ';
}
if($next < $anzahl-$zeilen_pro_seite)
{
$fwd=$next+$zeilen_pro_seite;
echo '<a href="ausgabe4.php?next='.$fwd.'">Weitere Beiträge >></a> ';
$fwd=$anzahl-$zeilen_pro_seite;
}
################# Seiten blättern - end script
Die Ausgabe sieht so aus:
[<< zurück] 1 2 3 ... 7 8 9 Weitere Beiträge >>
Jetzt ist nur das Problem wenn ich auf Seite 6 bin sieht der User ja nicht auf welcher Seite er gerade ist...?
Bei google sieht das ja etwas anders aus und zwar so:
[<< zurück] 6 7 8 9 Weitere Beiträge >>
Nur wie soll das gehen? Ich muß irgendwie die aktuelle Position mit übermitteln. Was ich übermittelt bekomme ist $next nur kann sich diese wiederum ändern wenn ich für die Ausgabe meines Contents $zeilen_pro_seite erhöhe.
ausgabe4.php?next='.$fwd.' (Das wird für meine Datenbankabfrage benötigt)
[...] LIMIT $next, $zeilen_pro_seite [...]