Nadine Mauch: Seiten blättern

Beitrag lesen

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&uuml;ck]</a>&nbsp;';
  }

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>&nbsp;';
  }

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>&nbsp;';
  }

if($next < $anzahl-$zeilen_pro_seite)
  {
    $fwd=$next+$zeilen_pro_seite;
    echo '<a href="ausgabe4.php?next='.$fwd.'">Weitere Beiträge >></a>&nbsp;';
    $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 [...]