Wie lösche ich eine bestimmte Zeile einer .txt mit PHP?

Hallo!

Ich habe mich entschieden TXT-Dateien als Datenbanken zu benutzen und mich später dann mit MySQL zu versuchen.

Folgendes: Ich bin dabei ein Poll- und ein Gästebuchscript zu schreiben.
Ist eigentlich alles klar mit Ausgabe, abspeichern etcpp…

Nun will ich ein Admin-Interface einbauen und stehe vor dem Problem, dass es dazugehört unerwünschte Beiträge löschen zu können!

Die gb.txt würde dann ungef. so aussehen:

Name1|Uhrzeit1|Email1|IPadresse1|Text1
Name2|Uhrzeit2|Email2|IPadresse2|Text2
Name3|Uhrzeit3|Email3|IPadresse3|Text3
...
...

Meine Frage: Mit welchem Befehl kann ich NUR Zeile 2 löschen, und die anderen unangetastet lassen? Am besten wäre es, wenn dadurch Zeile 3 an die Stelle von Zeile 2 hochrückt, sodass kein leerer Gästebucheintrag erscheint… :slight_smile:

Danke schonmal im Vorraus, habe im Internet&Forum nichts gefunden…

Lese die Datei in ein Array ein, und schreibe hinterher die Datei neu und lasse dabei den bestimmten Array-Eintrag raus.

kk
danke, werds versuchen :slight_smile:

Natürlich wäre es besser du verwendest MySQL, bzw. PgSQL

ich möchte mir etwas geld durch “homepagesmachen” dazuverdienen, und da nicht jeder anbieter mysql hat, mach ich das ganze erstmal mit textdateien…

ausserdem hab ich keine ahnung von mysql, aber das lässt sich ja schnell ändern :slight_smile:

MySQL ist nicht besonders kompliziert ^^
Außerdem bietet bplaced MySQL, und das sollte schon ein guter Grund sein…

mysql_connect("localhost","user","pass");
mysql_selectdb("DB");

//Abrufen
$res = mysql_query("SELECT * FROM `gb`")
     OR die("MySQL-Fehler: ".mysql_error());
while($row = mysql_fetch_assoc($res)
     $posts[]=$row;

//Hinzufügen
mysql_query("INSERT INTO `gb` (`name`, `date`, `post`) VALUES ('$name', 'NOW()', '$post') ")
     OR die("MySQL-Fehler: ".mysql_error());

//Löschen
mysql_query("DELETE FROM `gb`WHERE `id` = '$id'")
     OR die("MySQL-Fehler: ".mysql_error());

Dabei hat id den Parameter ‘auto_increament’ ^^

Also ich kenn mich mit textdateien net aus, aber wieso gibst du nicht jedem Eintrag eine id(diese autmatisch hochzählen?) und löscht dann aufgrund der id, weiß ja net ob des so geht.

Nehm mysql und bplaced für die homepages, falls es paidhosting ist erklär den leutn das der anbieter/tarif net viel taugt.