echo $begrüßung;
Ich komme nicht weiter, weder mit der seitenweisen Ausgabe einer Datei mit arrays noch alternativ mit der seitenweisen Ausgabe einer Textdatei.
Du hast also eine Anzahl von Zeilen, sagen wir mal
a
b
c
d
e
Davon sollen immer zwei pro Seite dargestellt werden.
a Seite 1
b
---
c Seite 2
d
---
e Seite 3
Es ist immer günstig mit 0 anzufangen, sowohl bei der Seiten- als auch bei der Elementeanzahl, denn dann ist das erste Element einer neuen Seite mit einfacher Rechung zu ermitteln
0: a Seite 0
1: b
----
2: c Seite 1
3: d
----
4: e Seite 2
2 Elemente pro Seite × Seite 0 = Startelement 0
2 Elemente pro Seite × Seite 1 = Startelement 2
2 Elemente pro Seite × Seite 2 = Startelement 4
Die Anzahl pro Seite weißt du auch, also zählst du vom Startelement um diese Anzahl weiter.
$elemente = array(...);
$anzahlProSeite = 2;
// wenn du nach außen hin von 1 an zählen willst (Seite 1 bis 3 statt 0 bis 2), muss wie nachfolgend 1 abgezogen werden, ansonsten das - 1 weglassen
$seite = isset($_GET['seite']) ? intval($_GET['seite']) - 1 : 0;
$startElement = $anzahlProSeite * $seite;
Hier muss nun eine Plausibilitätsprüfung stehen. $startElement darf nicht kleiner als 0 und weder größer noch gleich count($elemente) sein. Du kannst den Wert stillschweigend in diese Grenzen bringen (am einfachsten auf 0 setzen) oder eine andere Fehlermaßnahme ergreifen.
Und nun kommt die for-Schleife zum Einsatz, die von $startElement bis $startElement + $anzahlProSeite läuft und als Abbruchbedingung innerhalb der Schleife ein nicht vorhandenes Element in $elemente hat, denn das Element 5 gibt es in diesem Beispiel nicht. Alternativ kann stattdessen auch ein Leer-Wert angezeigt werden, wenn beispielsweise eine Tabelle noch zu Ende gezeichnet werden soll.
for ($i = $startElement; $i < $startElement + $anzahlProSeite; $i++)
if (isset($elemente[$i]))
echo $elemente[$i];
else
echo 'leer';
echo "$verabschiedung $name";