Bestimmte Anzahl von Einträgen

medicus41

Mitglied
HI,

ich gebe über ein Formular Daten in eine Textdatei. Diese lese ich mit
folgendem Codeschnipsel aus und zeige sie in einer Tabelle an:

---schnipp---
PHP:
$nr = 0;
while (!feof($fp))
{
$call = fgets($fp, 100);
         $datum = fgets($fp, 100);
         $von = fgets($fp, 100);
		 $nach = fgets($fp, 100);
		 $miles = fgets($fp, 100);
		 $nr = $nr + 1;
		 echo "<tr> <td>$nr</td> <td>$call</td>
<td>$datum</td> <td>$von</td> <td>$nach</td>";
         echo "<td>$miles</td> </tr>";
	     $miles_gesamt = ($miles_gesamt + $miles);
	  }
      echo "</table>";
      fclose($fp);
---schnapp---

Dies funktioniert alles soweit ohne Probleme. Wie kann ich es aber nun
hinbiegen das nur zb. die letzten 5 Einträge ausgegeben werden.

thx im Vorraus

mfg
medicus
 
Hi,

@godwich,

das würde mir nichts bringen. $nr dient einzig dazu jedem neuen Eintrag eine fortlaufende Nummer zu geben.

medicus
 
jo, und sobald diese variable gleich 5 ist (5 einträge wurden ausgegeben) stoppt deine while schleife !
 
Hi,

nochmal Ich:-)

Also, ich denke mal das du von PHP weitaus mehr Ahnung hast als ich, aber es kann vielleicht sein das wir aneinander vorbeireden.
Funktionsweise von $nr in diesem Script.

Ab dem ersten Eintrag ist diese Variable $nr=1
Ab dem zweiten Eintrag ist diese Variable §nr=2
usw...

Lass ich nun eine While-Schleife laufen bis $nr=5 ist werden die ersten 5 Einträge ausgegeben. Das brauch ich aber nicht. Ich brauche die letzten 5 Einträge.

medicus
 
Sers und wie wäre es mit einer for schleife ?
Indem du alles einfach mit ner schleife herausliest
PHP:
for ($i=3;$i<6;$i++){

Da dann der code zum herauslesen der daten
}

so ungefähr
 
achso, die letzten ;)

dann lies doch die file einfach falschrum aus, also drehe den array wo deine file drin steckt mit array_reverse($fp) um !
 
HI,

erstmal Danke an Alle die mir bei meinem Problem helfen wollten. Aber da ich faul bin und die Möglichkeit habe eine MySQL-DB zu benutzen habe ich meine Scripte vollends umgeschrieben. Und somit sind solch kleine Probleme eben keine mehr:)
 
Zurück