Hi all,
ich habe mir ein kleines php skript geschrieben, dass mir eine tabelle mit daten aus einer datei darstellt. Nur habe ich das Problem, dass die foreach() schleife mir irgendwie 1 zu weit zählt.
Also wenn ich mir das Array durchzählen lasse mit echo count($newgame) dann zeigt es mir zb. 4 an obwohl ich nur 3 games eingetragen habe, folglich wird mir eine leere zeile in meine seite geschrieben.
Das skript sieht folgendermaßen aus:
newgame.php
<?php
$id = $_POST["id"];
$url = $_POST["url"];
$altname = $_POST["altname"];
$name = $_POST["name"];
if ($id == "" or $url == "" or $altname == "" or $name == "")
{
echo "Es wurden ein oder mehrere Felder nicht korrekt ausgefüllt";
}
else
{
$newgame = "$id|$url|$altname|$name";
$datei = fopen("gamelist.txt", "a");
fwrite($datei, "\n".$newgame);
fclose($datei);
echo "Eintrag wurde übernommen";
}
?>
list.php
<?php
$newgame = file("gamelist.txt");
krsort($newgame);
echo "<table id=\"gamelist\" border=\"0\" align=\"center\">";
echo "<tr>";
echo count($newgame);
$i=0;
foreach ($newgame as $ausgabe)
{
$ausgabe = stripslashes($ausgabe);
$zerlegen = explode("|", $ausgabe);
echo "<th><a href=\"?id=$zerlegen[0]\" onclick=\"return loadGame(this.href)\"><img src=\"$zerlegen[1]\" alt=\"$zerlegen[2]\" border=\"0\"><br>$zerlegen[3]</a></th>";
$i++;
if ($i == 3)
{
echo "</tr><tr>";
$i=0;
}
}
echo "</tr></table>";
?>
Reichen die infos aus oder soll ich den Inhalt der gamelist.txt auch noch posten ? da würde jetzt zb. folgendes drin stehen:
40|http://blalbu.de|namedesspiels|name des spiels
nur würde die count funktion hierfür 2 anstatt 1 ausgeben.
hoffe das problem kennt jemand und kann mir helfen.
vielen dank
kointa