Announcement

Collapse
No announcement yet.

Ausgeben der Zeile mit der höchsten ID

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Ausgeben der Zeile mit der höchsten ID

    Hallo, bin schon seit paar h auf der Suche nach ner passenden Lösung :/..
    und zwar gehts um folgendermaßen:

    Tabelle mit 3 Spalten, id (auto_increment), mail und url

    ich möchte die url auslesen, welche die höchste id (somit die letzt eintragung hat) und in php wiedergeben. Momentan sieht mein Code folgendermaßen aus:

    PHP Code:
      <?php
      
    include("dbconnect.php");
    $res mysql_query("SELECT url FROM main") or die ("Mysql_query Fehler");
    $row mysql_fetch_row($res) or die ("Mysql_fetch_row Fehler");
    echo 
    $row[0];
      
    ?>
    dies gibt aber nur den ersten eintrag wieder.. dann hab ichs mit folgendem versucht:

    PHP Code:
      <?php
      
    include("dbconnect.php");
    $res mysql_query("SELECT url FROM main where max(id)") or die ("Mysql_query Fehler");
    $row mysql_fetch_row($res) or die ("Mysql_fetch_row Fehler");
    echo 
    $row[0];
      
    ?>
    da kommt dann aber "Mysql_query Fehler"... hab auch schon hier im forum gesucht, die antworten mit max lassen sich aber nicht auf meinen fall anwenden, da ich ja die URL der höchsten ID haben will, und nicht die höchste ID an sich..

    bitte helfen, ich stecke fest ^^...

  • #2
    Originally posted by stice View Post
    ... hab auch schon hier im forum gesucht, die antworten mit max lassen sich aber nicht auf meinen fall anwenden, da ich ja die URL der höchsten ID haben will, und nicht die höchste ID an sich...
    Doch, die Lösung findest du mit Sicherheit hier im Forum, da solche Abfragen schon X-mal diskutiert wurden. Nichtdestotrotz hier nochmal die allgemeine Lösung:
    [highlight=sql]
    SELECT url FROM main o
    where o.id = (
    select max(i.id) FROM main i
    )
    [/highlight]

    Alternativ - speziell für frühere MySQL Versionen, die noch keine Subqueries unterstützen - könntest du natürlich auch einfach absteigend nach id sortieren und das Ergebnis mit LIMIT (LIMIT gibts bei MySQL, TOP bei MSSQL, ROWNUM bei Oracle, etc.) auf eine Zeile einschräncken.
    [highlight=sql]
    select id, url from main
    order by id desc
    LIMIT 0, 1
    [/highlight]

    Beide Lösungen findest du hier mehrfach!

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment

    Working...
    X