israelsson
16-11-2004, 17:00
Hey!
Ich habe ein Datenbank (textdatei) in der mehrere Einträge stehen. Jeder Eintrag bestrht aus 8 zeilen! nun soll in meinem Script der komplette zweite Eintrag gelöscht werden. (Logischerweise ist der erste Eintrag zeile 1 bis 8, der zweite Eintrag zeile 9 bis 16 usw...). Das ganze soll nachher durch ein Formular ($min und $max sowie $datei) gesteuert werden. Nur warum kann ich die Funktion "function delete_line" nicht mit einer for-schleife 8 mal die zeilen löschen lassen? Es wird zwar die erste von den 8 gelöscht, dann kommt eine Fehlermeldung:
Warning: Missing argument 3 for delete_line() in \www\forum\del_eintrag.php on line 6
Fatal error: Cannot redeclare delete_line() (previously declared in \www\forum\del_eintrag.php:6) in \www\forum\del_eintrag.php on line 6
Was also aus der Fehlermeldung klar wird, findet die funktion die Variable $i nach dem ersten Durchgang nicht! Wie könnte man diese Problem lösen? Geht das was ich vorhabe mit einer for schleife überhaupt?
Bitte um hilfe!
Danke im Voraus!
$datei = "datei.txt";
$min = "9";
$max = "16";
for($i=$min; $i <= $max; $i++) {
// Eintrag löschen
function delete_line($file, $line, $change_in) {
$entries = file($file);
if(empty($change_in)) {
unset($entries[$line-1]);
} else {
$entries[$line-1] = $change_in;
}
$newentries = implode("", $entries);
$datei_forum = fopen($file, "w");
fputs($datei_forum, $newentries);
fclose($datei_forum);
}
delete_line("$datei", $i);
}
echo "gelöscht...";
MFG Israel's Son
Ich habe ein Datenbank (textdatei) in der mehrere Einträge stehen. Jeder Eintrag bestrht aus 8 zeilen! nun soll in meinem Script der komplette zweite Eintrag gelöscht werden. (Logischerweise ist der erste Eintrag zeile 1 bis 8, der zweite Eintrag zeile 9 bis 16 usw...). Das ganze soll nachher durch ein Formular ($min und $max sowie $datei) gesteuert werden. Nur warum kann ich die Funktion "function delete_line" nicht mit einer for-schleife 8 mal die zeilen löschen lassen? Es wird zwar die erste von den 8 gelöscht, dann kommt eine Fehlermeldung:
Warning: Missing argument 3 for delete_line() in \www\forum\del_eintrag.php on line 6
Fatal error: Cannot redeclare delete_line() (previously declared in \www\forum\del_eintrag.php:6) in \www\forum\del_eintrag.php on line 6
Was also aus der Fehlermeldung klar wird, findet die funktion die Variable $i nach dem ersten Durchgang nicht! Wie könnte man diese Problem lösen? Geht das was ich vorhabe mit einer for schleife überhaupt?
Bitte um hilfe!
Danke im Voraus!
$datei = "datei.txt";
$min = "9";
$max = "16";
for($i=$min; $i <= $max; $i++) {
// Eintrag löschen
function delete_line($file, $line, $change_in) {
$entries = file($file);
if(empty($change_in)) {
unset($entries[$line-1]);
} else {
$entries[$line-1] = $change_in;
}
$newentries = implode("", $entries);
$datei_forum = fopen($file, "w");
fputs($datei_forum, $newentries);
fclose($datei_forum);
}
delete_line("$datei", $i);
}
echo "gelöscht...";
MFG Israel's Son
