TXT Newsscript

Hi cih bau mir im moment ein Newssript auf TXT zusammen nun wollte ich auch einen Oberfläche zum löschen bauen da hab ich folgendes problem

Es sind 2 einträge vorhanden der Löscbutton wird aber 3mal ausgeben weil in der TXT am ende immer ein \n in der TXT ist das ein Rechteck angehangen wird.

Gibt es eine Möglichkeit das letzte Rechteck zu löschen ich hab keine Ahnung
Vielen Dank im Voraus
 
Also Die Links gebe ich so aus:

PHP:
<?php
$datei = "news.dat";
$file= file($datei);
foreach($file as $line) { 
		$row = explode("|||",$line); 
		echo "<table width=100%><tr>
				<td width=100 vAlign=top>$row[2]</td>
				<td width=100 vAlign=top>$row[3]</td>
				<td width=100 vAlign=top>$row[4]</td>
				<td width=100 vAlign=top>$row[5]</td>
				<td width=50 vAlign=top><a href=edit.php?del=$row[1]>A</a></td>
				</tr>
				</table>";
	
	}


?>

Und wie gesagt der Link zum Löschen wird 3mal ausgeben obwohl nur 3 einträge drin sind und das liegt an diesem letzten \n (Rechtekigeform in der TXT) und das müsste ich bei der schleife beachten)
 
PHP:
$datei = "news.dat";
$file= file($datei);
$zahl = fopen($datei, "r+");
$alt = @fread($zahl,  filesize($datei));
$bis_da = strlen($zahl) - 1;
fputs($zahl, $alt, $bis_da);
fclose($zahl);

Versuche es gerade so.
 
Zuletzt bearbeitet:
Klappt leider auch nicht ich muss dei Datei öffnen und alles bis zu diesem Zeichen wieder reinschreiben nur leider darf nur das letzte ersetzt werde das Zeichen ist öffter da ;)
 
Also echt. Ich kann deinen Schlussfolgerungen nicht ganz folgen aber ich reime es mir einmal zusammen.

Du hast das Problem, das wenn du auf deiner Übersichts News Seite bist, dass 3 Löschträge angezeigt werden obwohl nur 2 Newseinträge in der TXT File, wie du sie so schön nennst, vorhanden sind.

Dein Trenn Modifer ist |||.
Also muss es heisen:

PHP:
<?php 
$datei = "news.dat"; 
$file= file($datei); 
foreach($file as $line) { 
        $row = explode("|||",$line); 
        unset($row[count($row)-1]);
        echo "<table width=100%><tr> 
                <td width=100 vAlign=top>$row[2]</td> 
                <td width=100 vAlign=top>$row[3]</td> 
                <td width=100 vAlign=top>$row[4]</td> 
                <td width=100 vAlign=top>$row[5]</td> 
                <td width=50 vAlign=top><a href=edit.php?del=$row[1]>A</a></td> 
                </tr> 
                </table>"; 
     
    } 


?>

Oder du nimmst folgendes:

PHP:
<?php 
$datei = "news.dat"; 
$file= file($datei); 
foreach($file as $line) { 
        $row = explode("|||",$line); 
        foreach($row as $tc)
          {
            if($row!=="")
                     {
                        echo "<table width=100%><tr> 
                        <td width=100 vAlign=top>$row[2]</td> 
                       <td width=50 vAlign=top><a href=edit.php?del=$row[1]>A</a></td> 
                       </tr> 
                       </table>"; 
                    }      
       } 
}
?>

Beide sollten funktionieren, wenn ich nicht gerade ein Schusselfehler fabriziert habe.

In diesem Sinne

//edit: PHP-Tags geschlossen
 
Schlechte News der obere zeigt keine Wirkung der Untere macht zu jedem Eintrag einen Link . Also ich mein :
bal|||bal

dann macht er

bla Link
bla Link
 
Zurück