[PHP & MySQL] Neuste Dateien aus Datenbank anzeigen

Alix
Hey Leute

hab ein kleines Problem mit meinem Code.
Ich versuche derzeit mir die 10 neusten Daten aus der Datenbank anzeigen zu lassen. Schön und gut, leider zeigt mir der liebe pc immer die gleichen beliebigen Bilder aus der Datenbank an und ich find den Fehler net XD


php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
 <table width="90%">  <?php

                include("db.php");

                 $id $_GET['id'];

                  echo"<link rel="stylesheet" href="style.css" type="text/css">";


                 $sql "SELECT * FROM `Fotos` ORDER BY id DESC LIMIT 20" or die ("$sql<hr />" .mysql_error());
                 $result mysql_query($sql);
                 while ($row mysql_fetch_array($result))
      {

                        echo"
                         <tr>
                         <td width="18%"><img src="http://rvbuchental.rv.funpic.de/allixyz/vorschau$row[id].jpg"  border="1" bordercolor ="#000000"  align="left"> </td>
            <td width="12%"> <a href="http://rvbuchental.rv.funpic.de/allixyz/foto.php?id=$row[id]">$row[name]</a></b> </td>
            <td width="12%"$row[farbe]</b> </td>
                         <td width="12%"$row[rasse]</b> </td>
                          <td width="12%"$row[typ]</b> </td>
                         </tr>

                        ";
                  }


?>   </table>



siehe hier:
http://rvbuchental.rv.funpic.de/allixyz/neustes.php


danke schonmal im Voraus

Katha
Thorim
Hi,

der Query sieht eigentlich gut aus, ich könnt mir 2 sachen vorstellen:
entweder hast du keine größere Id in der Datenbank als 999 (ausgeben wird ja 999 - 990), was zB daran liegen könnte, das das Feld `id` blos eine Länge von 3 hat
oder das das Feld `id` nicht vom Typ INT ist, sondern VARCHAR oder TEXT und darum alphabetisch sortiert wird


MfG Thorim


edit: PS: das "or die" ist an der falschen Stelle und das "LIMIT 20" müsste eig 20 statt 10 Ergebnisse liefern (wenn da trotzdem nur 10 kommen, gibt es insgesamt nur 10 Einträge in der DB, dann wär auch klar, warum er immer die gleichen 10 wählt)
php:
1:
2:
$sql "SELECT * FROM `Fotos` ORDER BY `id` DESC LIMIT 20";
$result mysql_query($sql) or die("$sql<hr />" .mysql_error()); // das die() muss wenn schon hier hin, soll ja Fehler bei dem MySQL-Query ausgeben
Alix
hey

danke schonmal für die antwort smile


Also die id geht schon über 1800 hinaus daran janns nicht liegen
ich schau mal welcher typ das ist Augenzwinkern
Thorim
also wenn das wirklich VARCHAR oder TEXT ist, probier bitte mal folgendes

php:
1:
$sql "SELECT * FROM `Fotos` ORDER BY CAST(`id` AS UNSIGNED) DESC LIMIT 10;";
Alix
hey
smile
Danke für die tolle Hilfe!!!! hab Id von VARCHAR in INT geändert jetzt klappts großes Grinsen