46356
Goto Top

Letzter Eintrag will sich nicht anzeigen lassen

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

Content-Key: 77319

Url: https://administrator.de/contentid/77319

Printed on: April 18, 2024 at 12:04 o'clock

Member: EvilMoe
EvilMoe Jan 05, 2008 at 22:08:52 (UTC)
Goto Top
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
Member: Biber
Biber Jan 05, 2008 at 22:25:47 (UTC)
Goto Top
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
Member: Dani
Dani Jan 05, 2008 at 22:27:26 (UTC)
Goto Top
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
Mitglied: 46356
46356 Jan 06, 2008 at 00:02:57 (UTC)
Goto Top
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";