Hallo!
Hast Du das heute nicht schon einmal gefragt?
Wie muss ich folgendes Skript modifizieren um nur die ersten 10 Einträge meines Gästebuchs auf der ersten Seite darzustellen und die weiteren auf nachfolgenden Seiten, welche mittels automatisch generierter Links (vorherige Seite und nächste Seite) anzusteuern sind?
// Beispiel: gast.phtml
$anzahl = 10;
$datei = "gaestebuch.txt";
// gibt es die Datei gaestebuch.txt? Fehlermeldung vorbeugen
if(file_exists($datei))
{
$daten = file($datei);
}
// beim Start von gast.phtml, oder wenn $seite nicht übergeben wird
if(!isset($seite))
{
$seite = 1;
}
// ist $daten ein Array? Fehlermeldung vorbeugen
if(is_array($daten))
{
$ausgabe_daten = array_slice($daten, (($seite - 1) * $anzahl), $anzahl);
for($a=0;$a<count($ausgabe_daten);$a++)
{
$wert=explode("*|*",$ausgabe_daten[$a]);
$name=$wert[0];
$email=$wert[1];
$text=$wert[2];
echo "$name <br>\n";
echo "$email <br>\n<br>\n";
echo "$text <br>\n<br>\n<hr><br>\n<br>\n";
}
$seite_zurueck = $seite - 1;
$seite_vorwaerts = $seite + 1;
$daten_gesamt = count($daten);
$summe_seite_anzahl = ($seite*$anzahl)
if($seite>1)
{
echo "<a href="gast.phtml?seite=" . $seite_zurueck . "">zurück</a>";
}
if($daten_gesamt > $summe_seite_anzahl)
{
echo "<a href="gast.phtml?seite=" . $seite_vorwaerts . "">vorwärts</a>";
}
}
Das ist ein funktionstüchtige Grundgerüst. Versuche zu versehen was passiert und baue es nicht einfach so ein. Lasse Dir diese Variablen $seite_zurueck, $seite_vorwaerts, $daten_gesamt, $summe_seite_anzahl mal mit echo() ausgeben, dann verstehst Du den Ablauf. Schaue nach, was array_slice() tut.
array_slice(): http://www.php.net/manual/de/function.array-slice.php
file_exists(): http://www.php.net/manual/de/function.file_exists.php
is_array(): http://www.php.net/manual/de/function.is_array.php
MfG, André Laugks