Hallo..
Also, ich habe das mal mit ner for-schleife ausprobiert. Aber irgendwas mache ich falsch, leider aber weiss ich nicht was.
Hier mal der Code zum Lesen:
Bei diesem Code zählt es richtig durch, nur zeigt es die Einträge soviel mal an wie es hat. Also wenn z.B. 5 Einträge in der txt Datei sind, dann Zeigt es jeden Eintrag 5 mal an, aber es Zählt immer richtig durch, bis zu der anzahl an Einträge und dann fängt es wieder bei 1 an.
Wieso!?
Gruss adihas
Also, ich habe das mal mit ner for-schleife ausprobiert. Aber irgendwas mache ich falsch, leider aber weiss ich nicht was.
Hier mal der Code zum Lesen:
PHP-Code:
<?
//Lesen
// Festlegen der Dateien
$file = "guestbook/entries.txt";
$aktuelltemplate = "guestbook/config/template.dat";
// Auslesen der dat file um herauszufinden, welche Vorlage momentan verwendet wird.
$templatevorlage = fread(fopen($aktuelltemplate,"r"),filesize($aktuelltemplate));
$template = fread(fopen("guestbook/config/".$templatevorlage,"r"),filesize("guestbook/config/".$templatevorlage));
fclose(fopen("guestbook/config/".$templatevorlage,"r"));
$datensatz = file($file);
// Daten für die Seitenanzahl und wieviel Datensätze ausgegeben werden sollen
$linkanzahl = count($datensatz)/$max;
$startwert = ($page*$max-$max);
$endwert = ($page*$max);
$datensatz = array_reverse($datensatz);
$datei="guestbook/entries.txt";
$entriesnr = count(file($datei));
for($i=$startwert;$i<$endwert;$i++)
{
for($nr = 1; $nr <= $entriesnr; $nr = $nr + 1):
if($datensatz[$i] != "")
{
// Aufteilen/Splitten an dem Zeichen |
list($datum1,$teilnehmername,$email,$homepage,$ip,$host,$text) = explode("|",$datensatz[$i]);
// Ersetzen von verschiedenen Zeichen
$text = str_replace("<10>",chr(10),$text);
$text = str_replace("\n"," ",$text);
$view = str_replace("%DATUM%",$datum1,$template);
$view = str_replace("%NAME%",$teilnehmername,$view);
if ($email == "")
{
$view = str_replace("%EMAILADRESSE%","<font color=\"#E78A8C\">$teilnehmername</font>",$view);
}
else
{
$view = str_replace("%EMAILADRESSE%","<A HREF=\"MAILTO:$email\" class=link>$teilnehmername</a>",$view);
}
if ($homepage =="")
{
$view = str_replace("%HOMEPAGE%","<font color=\"#E78A8C\">keine</font>",$view);
}
else
{
$view = str_replace("%HOMEPAGE%","<A HREF=\"$homepage\" class=link target=\""_blank"\">Zur Homepage",$view);
}
$view = str_replace("%MESSAGE%",$text,$view);
$view = str_replace("%MESSAGEFARBE%",$messagefarbe,$view);
$view = str_replace("%RAHMENFARBE%",$rahmenfarbe,$view);
$view = str_replace("%RAHMENFARBE2%",$rahmenfarbe2,$view);
$view = str_replace("%NR%",$nr,$view);
echo $view;
}
endfor;
}
echo "<div align=\"left\">";
echo "<a href=\"guestbook/admin.php\">Admin</a>";
?>
<p> </td>
</tr>
<tr>
<td width="779" colspan="2">
<p align="center"><font color="#FFFFFF">
<?php
echo "<div align=\"center\">";
echo "Seite:";
$seite = 1;
for($x=0;$x<$linkanzahl;$x++)
{
echo "";
echo " <a href=\"start.php?site=guestbook&page=$seite\" class=\"link\">$seite</a> |\n";
$seite = $seite + 1;
}
echo "</div>";
?>
Bei diesem Code zählt es richtig durch, nur zeigt es die Einträge soviel mal an wie es hat. Also wenn z.B. 5 Einträge in der txt Datei sind, dann Zeigt es jeden Eintrag 5 mal an, aber es Zählt immer richtig durch, bis zu der anzahl an Einträge und dann fängt es wieder bei 1 an.
Wieso!?
Gruss adihas
Kommentar