PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : dat file auslesen und in array


thama
10.10.2003, 22:40:30
Ich habe folgendes Script um die termine.dat auszulesen. Das klappt ganz gut. Aber irgendwie erkennt er nur eine Zeile in der dat.

Muss ich die Einträge in der DAT irgendwie noch abtrennen dass er weiß dass eine neue Zeile beginnt?

Wäre nett wenn mir da jemand auf die Sprünge helfen könnte.



$datei = file("termine/termine.dat");
$datei = array_reverse($datei);
$linien = sizeof($datei);
if ($linien == 0) echo "<p><b>Keine Eintr&auml;ge vorhanden!</b></p>";
$date = date("m");

for ($i=0;$i < $linien ; $i++) {
$termine = explode ("&|&", $datei[$i]);

if ($termine[0] = $date){
echo "<tr height="55"><td align="center" width="145"><b>$termine[1]</b>: $termine[2]<br>$termine[3]</td><td align="left" width="218"><p>$termine[4]</p></td></tr>";
}
}

dat
10&|&So.&|&12.10.03&|&13.30 - 17.30&|&Heilbronn - Jazz & Einkauf<br>Bühne am Hafenmarkt (Innenstadt)&|&
10&|&So.&|&19.10.03&|&ab 19.30 Uhr&|& 75050 Gemmingen-Stebbach<br>Festhalle Stebbach<br>1. Gemminger Gastro Weekend<br><a href="www.ars-cultura.com">www.ars-cultura.com</a>&|&
10&|&Fr.&|&3.10.03&|&ab 20.30 Uhr&|&76889 Oberotterbach<br>Musikantebuckl<br>Herrengasse 5<br>Tel.: 06342-240<br><a href="www.musikantebuckl.de">www.musikantebuckl.de</a>&|&

c4
10.10.2003, 22:49:24
Aus
if ($termine[0] = $date){
mache das
if ($termine[0] == $date){


Ansonsten sieht's richtig aus.

thama
11.10.2003, 00:32:22
das Problem ist eigentlich, dass er von den 3 verschiedenen Einträgen in der dat nur den ersten Anzeigt.
Er soll aber doch alle drei nach ein ander auflisten.

Ben20
11.10.2003, 08:34:36
Hast Du die Datei evtl auf einem Mac erstellt?

thama
11.10.2003, 09:23:49
nein ganz normal mit dem notepad in Windows

c4
11.10.2003, 09:48:56
Lass Dir mal gleich nach der Zeile mit file() den Inhalt des Arrays durch print_r($datei) anzeigen.

thama
11.10.2003, 10:24:06
Dann gibt er das hier aus:

Array ( [0] => 10&|&So.&|&12.10.03&|&13.30 - 17.30&|&Heilbronn - Jazz & Einkauf
Bühne am Hafenmarkt (Innenstadt)&|& )

Ich habe ja das hier drin:
$linien = sizeof($datei);
echo $linien;

da sagt er immer nur "1" - sprich er findet von den drei Zeilen in der Datei nur die erste

c4
11.10.2003, 10:32:58
Dann schiebe ich das einfach mal auf die termine.dat Kannst ja mal probieren, ob es hilft, wenn Du die Datei öffnest, irgendwas änderst und speicherst. Dann werden die Zeilenumbrüche neu geschrieben. Oder jeden Zeilenumbruch neu machen (löschen, hinzufügen).
Andere 'sinnige' Ideen hab ich da momentan nicht.

thama
11.10.2003, 10:47:22
Ich habe ja auch geahnt dass es an der termine.dat liegt. Und so war es auch. Wusste nicht was ich mit der anstellen soll - aber einfach nochmal neu speichern - sowas kann nur einem Genie einfallen

-> jetzt geht es

danke