Erste Zeile ein Textdatenbank loeschen...

majonaise

Mitglied
Hi,
ich habe diesen PHP code hier, der mit einem html formular gefuettert wird.
Soweit so gut, allerdings brauche ich ein script das mir bei jedem neuen Beitrag die erste Zeile in meiner textbasierten datenbank loescht.

Ich habe schon rumprobiert, aber das will nicht bei mir :-(

Mein php code:
PHP:
<?php

$date= date("d.m.Y");
$date2= date("H:i:s");
$name = $HTTP_POST_VARS['name'];
$email = $HTTP_POST_VARS['email'];
$betreff = $HTTP_POST_VARS['betreff'];
$text = $HTTP_POST_VARS['text'];
if($submit)
{
if
(($email == "") || ($name == "") || ($text == "") || ($betreff == ""))
echo "<b>Fehlgeschlagen! Bitte alle Felder ausfüllen!</b>";
else
{
$x = 0;
$dateiname = "../datenbanken/news.db";
$datei = fopen($dateiname, "r");
while (!feof($datei)) {
$x++;
$saved[$x] = fgets($datei, 1024);
}
$datum = date("d.m.Y");
$zeit = date("H:i");
$datei=fopen("../datenbanken/news.db", "w");
$text=strip_tags($text)
fwrite($datei,"$name am $date um $date2 , $betreff, $text;\n");
for ($i=1;$i <= $x; $i++) {
fwrite($datei, "$saved[$i]");
}
fclose($datei);
}
}


$dateiname = "../datenbanken/news.db";
$datei = fopen($dateiname, "r");
fpassthru($datei);
?>

Ich weiss, jetzt kommen sicher wieder diese Antworten, ganz einfach schau unter php.net etc. Aber da hab ich schon geguckt und nicht wirklich was gefunden.:rolleyes:

Waere nett wenn mir jemand helfen koennte, danke fuers lesen,
mk
 
Zuletzt bearbeitet:
hmm,

du liest die sachen doch zeilenweise ein und schreibst sie auch wieder zeilenweise , oder ? Wenn du also die 'Schreibschleife' nicht bei 1 sondern bei 2 beginnen lässt macht er doch was du willst, oder ?
 
hm... der inhalt meiner daten bank sieht so aus:

Code:
Erster Eintrag in der ersten Zeile
zweiter eintrag zweiter zeile
dritter eintrag dritte zeile
vierter eintrag (welcher zuletzt geschribene wurde) vierte zeile

nun moechte ich, dass wenn ich den fuenften eintrag eintrage, der erste automatisch geloescht wird.


Mit deinem Code ersetze ich ja immer nur den ersten Beitrag....(trotzdem danke)
 
hmm,

Ich verstehe nicht ganz, du schreibst doch den 'fünften eintrag als erstes, oder seh ich dass falsch ? dann erst schreibste den Rest hinten dran, dass ist doch dann an sich falsch, oder ?

So wie du das schreibst kommt doch

fünfter eintrag
vierter eintrag
dritter eintrag
zweiter eintrag
erster eintrag

dann schreibste eben nur die drei ersten zurück, also

Code:
for ($i=1;$i <= 3; $i++)
weil du willst ja nur drei der vier Einträge wieder reinschreiben.
 
Zurück