Zur Navigation

in Textdatei mit Vor-Zurück navigieren

1 uwe

Hallo,
ich habe eine Textdatei die ich mit "weiter" und " zurück" Button
anzeigen lassen will. Es sollen immer 25 Datensätze gezeigt werden.

(Das Script zeigt immer alle)

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Logfile anzeigen</title>
</head>
<body>
<h1>Das ist das aktuelle Logfile:</h1>
<?
$datei = fopen("logfile.csv","r");
if ($datei) {
$dateigroesse=filesize("logfile.csv");
print("<table width='100%' border='1'><tr><td>Datum</td><td>Uhrzeit</td><td>IP</td><td>Computername</td><td>Hostname</td><td>Browser</td></tr>");
while(($data=fgetcsv ($datei, $dateigroesse, "|"))!=false) {
print ("<tr>");
print ("<td>".$data[0]."</td>");
print ("<td>".$data[1]."</td>");
print ("<td>".$data[2]."</td>");
print ("<td>".$data[3]."</td>");
print ("<td>".$data[4]."</td>");
print ("<td>".$data[5]."</td>");
print ("</tr>");
}
print ("</table>");
}
fclose($datei);
?>
</body>
</html>
Gruss
Uwe

14.07.2007 08:38

2 Jörg

Hallo Uwe,

um die Datensätze auf mehrere Seiten zu verteilen, musst du diesen noch einen entsprechenden Parameter dranhängen, z.B. ?seite=1

Darazs kannst du dann die vorhergehende und folgende Seite berechnen:

<?php

$seite = $_GET['seite'];
$zurueck = $seite - 1;
$vor = $seite + 1;

?>

Die Links sehen dann so aus:

<a href="name-der-seite.php?seite="<?php echo $zurueck ?>">zurück</a>

<a href="name-der-seite.php?seite="<?php echo $vor ?>">vorwärts</a>

Die Ausgabe kannst du dann folgendermaßen berechnen:

<?php

$anzahlproseite = 25;
$ende = $seite * $anzahlproseite;
$anfang = ($ende - $anzahlproseite) + 1

?>

Das baust du dann in die Schleife ein

  $i = 1;
  while(($data=fgetcsv ($datei, $dateigroesse, "|"))!=false) {
    if ($i >= $start && $i <= $ende) {
       print ("<tr>");
       print ("<td>".$data[0]."</td>");
       print ("<td>".$data[1]."</td>");
       print ("<td>".$data[2]."</td>");
       print ("<td>".$data[3]."</td>");
       print ("<td>".$data[4]."</td>");
       print ("<td>".$data[5]."</td>");
       print ("</tr>");
    }
  $i++;
  }

So in etwa würde ich es versuchen - ist ungetestet - müsstest du mal ausprobieren

14.07.2007 12:29 | geändert: 14.07.2007 12:31

3 uwe

Hallo,
danke, damit mache ich weiter.

Schönes, warmes Wochenende
Gruss
Uwe

14.07.2007 13:08

Beitrag schreiben (als Gast)

Beim Verfassen des Beitrages bitte die Forenregeln beachten.





[BBCode-Hilfe]