Help!Inhalt einer...Txt ändern.

Nucleus

Erfahrenes Mitglied
Ok hab ein kleines problem mit den Daten:
Ich möchte die id nummer die in der txt file gespeichert ist ändern also wenn ich jetzt zb einen eintrag lösche dann wird die id bei jeden um 1 veringert.Gut und schön das hab ich is ja kein Problem aber was is wenn ich jetzt zb den eintrag 2 löschen will? Dabei muss also dann der erste Eintrag unverändert bleiben.
und beim 2 und 3 wird die id jeweils um eins verringert.
Weiß jemand eine Lösung ? Habs auch schon mit for Schleife probiert aber das klappt bei mir nicht so richtig.


//Hier der Inhalt der Txt Datei
id
29.03.2002#15.05# 2 #loeschen#
01.04.2002#16.08# 5 #loeschen#
29.03.2002#15.05# 8 #loeschen#


// Ab hier gehtseintraege

$inhalt=file("data.txt","r");
$i=0;

$s = count($inhalt) ;
for ($i = 0; $i<$s;$i++){
$krach = explode("#",$inhalt[$i]);


echo "$krach[0]<br>";
echo "$krach[1]<br>";
echo "$krach[2]<br>";
echo "$krach[4]<br>";
$new=$krach[3]-1;
echo "$new<br>";

}
 
Falls die id im txt-File geordnet sind.
$id_loeschen = 5; // ID = 5

$inhalt=file("data.txt","r");
$i=0;

$s = count($inhalt) ;
for ($i = $id_loeschen; $i<$s;$i++){
$krach = explode("#",$inhalt[$i]);


echo "$krach[0]<br>";
echo "$krach[1]<br>";
echo "$krach[2]<br>";
echo "$krach[4]<br>";
$new=$krach[3]-1;
echo "$new<br>";

}
sind die ID nicht geordnet, baust du eine If abfrage ein. >

if ($krach[3] > $id_loeschen) {$new = $krach[3] -1; }


vielleicht habe ich das auch falsch verstanden....
 
yep danke und wie mach ich das wenn ich zb den eibtrag 4 lösche dann müssen die anderen einträge von 4 - 10 zb auch geändert werden und von 0-3 bleiben unverändert wie mach ich fdas ?
 
ich habs doch oben erklärt, vielleicht zu undeutlich,

$id_loeschen ist deine Variable.
Du möchtest eintrag 4 löschen -> du drückst auf ein link,
oder button, wo lösche 4 steht z.B
dabei wird $id_loeschen 4 gesetzt.

Du muss quasi id_löschen setzten und dieses script ausführen,

ist die zu löschende id gesetzt, so machst du eine schleife..->
wo alle Einträge die grösser als id ist minus 1 gesetzt werden,
es heisst in diesen Falle grösser 4, die restlichen bleiben unverändert.

ist deine txt datei nicht geordnet,
(zuerst steht 1, dann 5, dann 2, dann 24)
so baust du in die for-schleife noch eine if-abfrage,

ist die id gröser 4 -> mach minus 1,
else -> garnichts....

OK?
 
oooopssss sorry jetzt seh ich das erst hab nur das geshen

if ($krach[3] > $id_loeschen) {$new = $krach[3] -1; }


hab geglaubt das is noch mein alter code gg

danke für deine antwort hast ma geholfen gg
 
Zurück