46356

Letzter Eintrag will sich nicht anzeigen lassen

geschlossengelöstFrageDatenbanken Entwicklung
Hallo!

Ich habe ein kleines PHP Script, der mir den letzten Eintrag in meine MySQL DB anzeigen sollte...

$abfrage = "SELECT Mail2 FROM GENERALLY LIMIT 1";  
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
   {
   echo "Letzter registrierter User:";  
   $Mail = $row->Mail2;
   echo "<img src='/user/".$Mail."'>";  
   }

Leider wird mir nicht immer der letzte registrierte User angezeigt, sondern immer
nur der 3. letzte (also immer der 3. letzt, auch nach hundert neuen registrierten usern)...
Was ist da faul?


Lg. Alex
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 77319

Url: https://administrator.de/forum/letzter-eintrag-will-sich-nicht-anzeigen-lassen-77319.html

Ausgedruckt am: 10.07.2025 um 05:07 Uhr

EvilMoe
EvilMoe 05.01.2008 um 23:08:52 Uhr
Wenn du den letzten haben willst wofür dann die Schleife?`Lass doch einfach die Schleife weg dann sollte es auch gehen.

Obwohl es schon komisch ist das wenn LIMIT 1 da steht 3 Werte zurück kriegst
Biber
Biber 05.01.2008 um 23:25:47 Uhr
Moin,

kann aber auch daran liegen, dass Du die WHERE-Klausel vergessen hast.
Irgendein (Datums-)Kriterium wird es doch wohl geben, an dem Du den "neuesten" Datensatz erkennst?
Wenn das Feld z.B. "AnmeldeDatum" heißt, dann wäre eine sinnvolle Abfrage:
$abfrage = "SELECT Mail2 FROM GENERALLY Order by AnmeldeDatum Desc LIMIT 1";  

Grüße
Biber
Dani
Dani 05.01.2008 um 23:27:26 Uhr
Abend,
du hast doch sicher in dieser Tabelle eine fortlaufende Nummer (AutoInkrement ist das Stichwort). Somit müsste der letzte Eintrag immer die größte ID haben. Folgende Statements den Erfolg bringen:

SQL-Funktion "max()":
$abfrage = "SELECT Mail2, MAX(id) as max_value FROM generally;";  

Oder aber über "order by":
$abfrage = "SELECT Mail2 FROM generally ORDER BY id DESC LIMIT 1";  


Grüße
Dani
Edit: Achja....der liebe Biber - war einfach mal wieder schneller. face-wink
46356
46356 06.01.2008 um 01:02:57 Uhr
Hallo!

Ich danke Euch!
Ihr habt mir wieder einmal sehr geholfen face-smile.

Lg. Alex

P.S.: Die order by Methode hat auf Anhieb super funktioniert!

$abfrage = "SELECT Mail2 FROM GENERALLY Order by ID Desc LIMIT 1";