Bei Datenbankabfragen fehlt immer der erste Eintrag!

Daddi

Mitglied
Hi Leuts.
Ich habe mir für mich mal ein kleines Script geschreiben. (Animeliste).
Ich geb euch mal nen Link dorthin (sollte nicht als Werbung aufgefasst werden ^^ ).
http://www.daddi.wwe-power.de/

So wie sie ist gefällt sie mir schon ganz gut, muss nur noch ein paar Fehler ausbessern.

Jetzt aber zum Problem:
Wie ihr euch bestimmt schon denkt läuft das alles über selct abfragen. Jedoch lässt PHP/MYSQL den ersten Datensatz immer aus. Wenn ihr z.b. auf "C" drückt. Werden die Animes mit dem Anfangsbuchstaben "C" aufgelistet. ist ja klar. Ihr seht dort zurzeit nur 2, es sollten aber drei sein! Den ersten lässt er weg.

Wenn man auch z.b. auf G drückt, wäre dort normalerweise ein Eintrag, aber dort wird dann garkeiner angezeigt !

Ich bin verzweifelt, bitte helft mir, ich sitze seit 2 vollen Tagen an dem Prob!

Danke
Daddi

P.S.: Falls ihr bestimmten Quellcode braucht, sagt bescheid welche Stelle, ich werde sie dann posten!
 
Code:
if ($sort == "alle")
{
$result = mysql_query("SELECT * FROM $tabelle ORDER by '$order'"); 
 
if (@mysql_fetch_array($result))
{
echo "<table border='1' width='861'>";
echo "<tr>";
echo "<td width='234'>";
echo "<p><b><u>Anime</u></b></p>";
echo "</td>";
echo "<td width='122'>";
echo "<p><b><u>Folgen</u></b></p>";
echo "</td>";
echo "<td>";
echo "<p><b><u>DVDs</u></b></p>";
echo "</td>";
echo "<td width='122'>";
echo "<p><b><u>Sprache</u></b></p>";
echo "</td>";
echo "<td width='269'>";
echo "<p><b><u>Bemerkung</u></b></p>";
echo "</td>";
echo "</tr>";

while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>";
echo "<p>";
echo "<a href='infos.php?nummer=" . $row['ID'] . "'>" . $row['Name'] . "</a></p>";
echo "</td>";
echo "<td>";
echo "<p>".$row['Folgen']."</p>";
echo "</td>";
echo "<td>";
echo "<p>".$row['DVD']."</p>";
echo "</td>";
echo "<td>";
echo "<p>".$row['Sprache']."</p>";
echo "</td>";
echo "<td>";
echo "<p>".$row['Bemerkung']."</p>";
echo "</td>";
echo "</tr>";       
}
echo "</table>";
echo "<br>   Einen Anime <a href='einfuegen.htm'>eintragen</a>!";
}
}
else
{
$result = mysql_query("SELECT * FROM $tabelle where name REGEXP '^$sort{1}' ORDER by 'Name' LIMIT 0, 30"); 
 
if (mysql_fetch_array($result))
{
echo "<p><table border='0' width='861'>";
echo "<tr>";
echo "<td width='234'>";
echo "<p><b><u>Anime</u></b></p>";
echo "</td>";
echo "<td widtd='122'>";
echo "<p><b><u>Folgen</u></b></p>";
echo "</th>";
echo "<td>";
echo "<p><b><u>DVDs</u></b></p>";
echo "</th>";
echo "<td width='122'>";
echo "<p><b><u>Sprache</u></b></p>";
echo "</td>";
echo "<td widtd='269'>";
echo "<p><b><u>Bemerkung</u></b></p>";
echo "</td>";
echo "</tr></p>";
do{
echo "<tr>";
echo "<td>";
echo "<p>";
echo "<a href='infos.php?nummer=" . $row['ID'] . "'>" . $row['Name'] . "</a></p>";
echo "</td>";
echo "<td>";
echo "<p>".$row['Folgen']."</p>";
echo "</td>";
echo "<td>";
echo "<p>".$row['DVD']."</p>";
echo "</td>";
echo "<td>";
echo "<p>".$row['Sprache']."</p>";
echo "</td>";
echo "<td>";
echo "<p>".$row['Bemerkung']."</p>";
echo "</td>";
echo "</tr>";       
} while($row = mysql_fetch_array($result));
echo "</table>";
echo "<br>   Einen Anime <a href='einfuegen.htm'>eintragen</a>!";
}
else {
echo "<br><br><font color=red>Kein Animeeintrag vorhanden!</font>";
echo "<br>Einen Anime <a href='einfuegen.htm'>eintragen</a>!";
}
}

Zur Erklärung:
zuerst wird geprüft, ob alle oder nur ein Buchstabe angezeigt werden soll.

Dann halteben das Query und die Schleife ^^
Sollte ales so richtig sein ^^

Ok, viele Echos aber ich habs so übersichtlicher als mit den ganzen Punktverbindungen.

Früher hats auch immer geklappt ^^
 
Natürlich wird die erste Datenbankzeile nicht angezeigt :)
in der IF Abfrage wird ja die erste Datenbanjzeile eingelesen aber nicht ausgegeben.

PHP:
if (@mysql_fetch_array($result))
{
echo "<table border='1' width='861'>";

das ändern in

PHP:
if (mysql_num_rows($result) > 0)
{
echo "<table border='1' width='861'>";
 

Neue Beiträge

Zurück