Bestimmte Zeilen aus .txt Datei auslesen

Elbarto

Grünschnabel
Hallo,

ich habe eine .txt datei diese möchte ich gerne mit PHP auslesen. In dieser Datei stehen verschieden Termine.

Ausschnitt aus der .txt Datei:

02.11.10|Termin Nr. 01
03.11.10|Termin Nr. 02
12.12.10|Termin Nr. 03
...

Ich möchte jetzt mit einer PHP datei nur die Termine auslesen die in der Zukunft liegen.
Bisher sieht meine PHP datei so aus: (damit werden mir aber immer alle Termine angezeigt :()

PHP:
<?php
$beitrag = file("termine.txt");
asort($beitrag);

foreach($beitrag as $ausgabe)
   {
   $ausgabe = stripslashes($ausgabe);
   $zerlegen = explode("|", $ausgabe);

   echo "
<tr>
        <td width='134' class='Stil5'>$zerlegen[0]</td>
        <td width='826' class='Stil5'>$zerlegen[1]</td>
  </tr>
";

   }
?>


P. S. ist nur ein Ausschnitt aus der PHP Datei

kann mir bitte jmd. helfen?

Danke & Gruß

Matthias
 
ich würde weiterhin alles auslesen und anschliessend in der Schleife mit einem if() auf $zerlegen[1] prüfen
 
und wie mach ich das?

hab noch nicht die all zu große php Erfahrung bisher gemacht und so wie ich dacht könnte es funktionieren ging es leider nicht.

Danke&Gruß

Matthias
 
PHP:
//Simultaion des Wertes
$datestring = '03.11.10';

//String in die Datumseinzelteile zerlegen
$dateparts = explode('.', $datestring);
//timestamp erstellen
$time = mktime(0, 0, 0, $dateparts[1], $dateparts[0], $dateparts[2]);
//Vergleichen
if(time() < $time){
    //TODO Eintrag ist in der Zukunft
}
 
Hallo yaslaw,

Danke für die schnellen Antworten, aber der letzte Code überprüft doch gar nicht ob das Datum was in der txt Datei steht in der Vergangenheit oder Zukunft liegt oder Irre ich mich?

Weil Ich möchte eine Tabelle erstellen in der alle Termine angezeigt werden die in der Zukunft liegen. Und die Termine befinden sich in dieser txt Datei.

Danke und Gruß

Matthias
 
Darum steht dort auch '//Simultaion des Wertes'. Dies ist nur ein Beispiel das du noch für dich anpassen musst.
Was bei mir $datastring ist, ist bei dir glaub $zerlegen[0]. Das darfst du aber selber überprüfen und einbauen.

Sorry, wenn ich das so direkt sagen. Aber mit diesen Informationen musst du es schaffen. Es ist echt nicht mehr schwer!
 
Okay, danke nochmal soweit hab ichs jetzt verstanden und es funktioniert auch
aber eine kleine Frage hätte ich noch:

"Wie kann ich mir alle Termine für den heutigen Tag und die Termine die in der Zukunft liegen anzeigen?"

So wie es jetzt ist bekomm ich nur die Termine die in der Zukunft liegen angezeigt und mit dem größer gleich symbol funktionierts nicht :(
 
Also wenn du es so umgesetzt hast wie yaslaw es dir geschrieben hat.
Dann hast du :

(time() < $time)
(time() > $time)
und
(time() == $time)

Das sind die Konstellationen, die du angesprochen hast.
Das sind Grundkenntnisse, wenn man die nicht allein gebacken bekommt, sollte man vllt nochmal bei noch kleineren Sachen anfangen wie +-/*%. Was true und false ist sowie = == === != !== += -= <= >= , was nicht zu verwechseln ist mit =>.

Es gibt einige gute Tutorials, lies doch die ;)
Dann wirst du sicher deine Applikation auch in SQL o.Ä. umsetzen.
 
leider nicht ganz.
time() gibt Jetzt inklusive Zeit aus. Das Datum so wie ich es mit mktime erstellt habe, gibt das Datum ohne Zeit als Timestamp. Das ist kleiner als heute 1 Sekunde nach Mitternacht.
darum muss man bei time() auch noch die Zeit raus schneiden
PHP:
$today = mktime(0, 0, 0, date('n'), date('j'), date('Y'));
nun kannst du mittels '<=' vergleichen
PHP:
$today = mktime(0, 0, 0, date('n'), date('j'), date('Y'));
//Vergleichen
if($today <= $time){
    //TODO Eintrag ist in der Zukunft
}
 
Zurück