? immer höchste Variable im Include übergeben ?

Seven Secrets

Erfahrenes Mitglied
Hallo,

ich habe ien Newsscript, bei dem die einzelnen News wie folgt übergeben werden:

PHP:
http://www.seven-secrets.com/ela-sbb/p-news.php?pn=detail&id=0

Ich möchte nun auf der Startseite in einer Tabelle diesen Link mit include einbinden. Dies ist so weit kein Problem, nun möchte ich aber, daß die id am Ende immer die höchste gespeicherte ist. Wie kann man das anstellen?
 
Also um das richtig zu verstehen,
es sind mehrere Links zu den Newseinträgen und pro Eintrag eine ID?
Dann ist das ja nur eine Sache der Sortierung beim Auslesen aus der DB und daraus resultierend dem erzeugen der News, sprich das du nach NewsID absteigend sortierst.
 
Das Problem daran ist, das es keine DB dazu gibt, sondern eine Text-Datei. Aber an sonsten hast du es richtig verstanden. Der Inhalt der news.dat sieht so aus:

Name|--|Hallo und Herzlich Willkommen ...|--|... auf der überarbeiteten Webseite ...|--|30.08.2004|--|17:56|--|0|--||--|info@ela-sbb.com|--|0|--|0|--||--||--||--||--||--|

Dabei sieht jede Zeile in der Dat-Datei so aus. Eine Zeile ein Eintrag!
 
Hübsch.
Wenn die Einträge in der Datei sortiert sind, musst Du eben die erste oder die letzte Zeile verwenden. Ansonsten musst Du wohl alle durchlaufen und die höchste ID herausfinden. Ich verstehe nicht, was bei der Problemlösung so schwer ist.

snuu
 
Mach die Textdatei mit fopen() auf und in einer While Schleife zählst du
einfach einen Zähler mit ...

Dann machst du mit fclose() wieder zu ...

mfg
 
Ich habe das jetzt so programmiert. Aber irgentwo ist hier noch ein fehler drin!

PHP:
$fp = fopen("http://www.seven-secrets.com/ela-sbb/db/news.dat","r");
 zeile  = "0"; 
 while($fp = " "){  $zeile++ }
fclose($fp);
include("http://www.seven-secrets.com/ela-sbb/p-news.php?pn=detail&id=".$zeile."");
 
So kannst Du die höchste ID ermitteln:
PHP:
$zeilen = file('news.dat');
$id_max = -1;
foreach ($zeilen as $zeile) {
  $ar = explode('|--|', $zeile);
  if ($id_max < $ar[5]) { // 5,8,9
    $id_max = $ar[5];
  }
}
Wo im Quellcode $ar[5] steht, muss die Position im Datensatz eingetragen werden, die die ID enthält. Das geht nämlich aus Deinem Beispieldatensatz nicht hervor. $id_max enthält anschließend die höchste ID.

Willst Du hingegen nur die Anzahl der Zeilen in der Datei ermitteln, geht das wiefolgt:
PHP:
$anzahl = count(file('news.dat'));

snuu
 
Die komplette Lösung sieht jetzt so aus und lauft hervorragend!

PHP:
$anzahl = count(file('http://www.seven-secrets.com/ela-sbb/db/news.dat'));
$anzahl = $anzahl - 1;
include("http://www.seven-secrets.com/ela-sbb/p-news.php?pn=detail&id=".$anzahl."");
 
Zurück