[php] arrays in datei speichern

H3lium

Cadet 4th Year
Registriert
Apr. 2004
Beiträge
89
hallo zusammen...
bin gerade dabei mir php anzueignen :)
ich will ein stundenplan erstellen, den der benutzer selber verändern kann...
dazu habe ich eine tabelle angelegt. eine die die daten ausliest, und eine die die daten einliest (aus einer datei)

die kursplan.html datei läuft ohne probleme, man kann alle daten eingeben und er verarbeitet sie auch. nur mit dem in die datei speichern habe ich probleme...

PHP:
<?php
foreach ($Mo as $index => $Mo) {
echo "<br>Montag[$index]=$Mo";
}
$datei = fopen("kp.txt", "a+");
fputs($datei, "$Mo");
fclose($datei);

?>

er schreibt auch etwas in die datei... allerdings nur das, was bei teil 15 von Mo steht...
Ich will, dass es ungefähr so dann in der datei steht:

Montag[0]=1
Montag[1]=2
Montag[2]=3
Montag[3]=4
Montag[4]=5
Montag[5]=6
Montag[6]=7
Montag[7]=8
Montag[8]=9
Montag[9]=10
Montag[10]=11
Montag[11]=12
Montag[12]=13
Montag[13]=14
Montag[14]=15

ich denke es liegt an fputs($datei, "$Mo");
aber ich weiß nicht was da stehen sollte, da es ja eigentlich mit foreach geschrieben werden sollte...
lg
h3lium
 
Nur hört die Schleife bereits auf, bevor du mit den Dateioperationen überhaupt anfängst.
 
Für sowas wäre eine mySQL Datenbank sicherlich nicht verkehrt, dafür gibt es auch sehr
schöne date funktionen um die Tage und Uhrzeiten zuzuordnen. Außerdem könntest Du
mit phpmyadmin gleich die Datenbank und Deinen Stundenplan verwalten - in php wäre
dann nur noch die Ausgabe des Stundenplans in Komination mit html/css.
 
PHP:
$datei = fopen("kp.txt", "a+"); 
foreach ($Mo as $index => $Mo) { 
 echo "<br>Montag[$index]=$Mo"; 
 fputs($datei, "$Mo"); 
} 
fclose($datei);

Du musst den inhalt natürlich reinschreiben, solange die Variable noch den gewollten inhalt hat.
Foreach geht jeden einzelnen Wert durch und schreibt ihn in die Variable. solange diese Aktion noch läuft (foreach nicht an der "}" ankommt ist der inhalt noch in der Variable, also speicher wir sie auch dann ab. Kommt foreach an der "}" an, fängst foreach von vorne an und schreibt einen neuen inhalt in die Variable. so hasst du bei deinem Script oben nur den allerletzten inhalt bekommen.
 
hm dachte auch schon an mysql, bin da nur nicht so fit...
außerdem sollte der stundenplan von einer person zu ändern sein, die es nicht so blickt.
dh, nicht mit phpmyadmin umgehen kann.

aber weiß jemand ne gute page wo sowas gut erklärt wird, mit auslesen und schreiben in datenbanken?
lg
h3lium
 
Das sollte liefern was du meintest

PHP:
	if( $datei = fopen("kp.txt", "a+") ) {
		
		foreach( $Mo as $index => $value )
			fputs( $datei, 'Montag[' . $index . ']=' . $value . "\n" );
		
		
		fclose( $datei );
	}
 
H3lium schrieb:
hm dachte auch schon an mysql, bin da nur nicht so fit...

Die Seite ist sehr empfehlenswert um sich erstmal einzuarbeiten und zu sehen was
man denn alles so in mySQL machen kann. Außerdem sind fast alle funktionen sehr
schön und anschaulich erklärt auch wenn es keinen direkten Bezug zu php gibt, aber
dazu gibt es ja die php-homepage (dort mal nach mysql suchen und Du hast alle
Befehle die Du benötigst).

http://www.infos24.de/mysqle/handbuch/mysql_inhaltsverzeichnis.htm
 
Es gibt eine Funktion names serialize die fast alle Daten in einen String überträgt. Sehr bequem diese Funktion. Zum zurückschreiben in eine Variable nimmste unserialize.
 
Zurück
Oben