Marc: Nur den zuletzt eingegebenen Eintrag ausgeben ...

Hi,

ich möchte nur den zuletzt eingetragenen Eintrag meiner MySQL Datenbank ausgeben. Wie mache ich das? Als erstes habe ich bisher sortiert nach der ID, weil ja der neueste Eintrag die höchste ID kriegt:

$var = "SELECT * FROM [tabellenname] ORDER BY ID DESC";
$sql = mysql_query($var,$verbindung);

Aber wie mache ich das, dass nur der erste Eintrag ausgegeben wird?

Danke für eure Hilfe

Marc

  1. Hallo,

    ich möchte nur den zuletzt eingetragenen Eintrag meiner MySQL Datenbank ausgeben.

    Vielleicht hilft Dir das:
    http://www.mysql.com/doc/de/mysql_insert_id.html
    Geht aber nur unmittelbar nach dem Einfuegen.
    Ansonsten duerfte Dein Ansatz mit der "hoechsten" ID
    wahrscheinlich der einfachste sein.

    Gruesse,

    Thomas

    1. Hi,

      ich möchte das nicht direkt nach dem Einfügen machen.. Daher bleibt mir wohl nur der Ansatz mit der ID...

      Aber mit

      $var = "SELECT * FROM [tabellenname] ORDER BY ID DESC";
      $sql = mysql_query($var,$verbindung);

      lese ich ja alle Datensätze aus und sortiere sie .. Ich möchte aber nun nur den ersten Datensatz ausgeben. Mit welchem Befehl kann ich jetzt nur den ersten Datensatz (ist ja dann der mit der höchsten ID) ausgeben?

      Danke

      Marc

      1. Hallo,

        Mit welchem Befehl kann ich jetzt nur den ersten Datensatz (ist ja dann der mit der höchsten ID) ausgeben?

        Lies mal das Manual-Kapitel zu SELECT ganz durch.
        Insbesondere den Abschnitt zu LIMIT:
        http://www.mysql.com/doc/de/SELECT.html#IDX1338

        SELECT ... LIMIT 1;

        Gruesse,

        Thomas

        1. Hi,

          danke das hat geholfen ;-)

          Cu Marc

      2. Hallo,

        $var = "SELECT * FROM [tabellenname] LIMIT 0,1 ORDER BY ID DESC";

        mit LIMIT kannst du die Anzahl der Datensätze festlegen - die erste Zahl ist der Startpunkt, die zweite Zahl die Anzahl der Einträge, also einer.

        Oder hab ich dich total falsch verstanden und du wolltest was anderes?

        cu Benedikt Loepp

        1. Hi,

          ne das war richtig ;-) Das hat geholfen...

          Danke

          Marc

        2. Hallo Benedikt,

          $var = "SELECT * FROM [tabellenname] LIMIT 0,1 ORDER BY ID DESC";

          das wird nicht funktionieren - das LIMIT gehört hinter ORDER BY...

          Grüße aus Nürnberg
          Tobias

          --
          Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
          1. Hallo,

            das wird nicht funktionieren - das LIMIT gehört hinter ORDER BY...

            ups - da hab ich das wohl beim Posten verdreht - naja, jeder macht mal nen Fehler :)
            immerhin hats im den Denkanstoß für LIMIT gegeben...

            cu Benedikt Loepp

  2. Hi

    Du hast zwar schon eine Lösung bekommen,
    doch hier ist noch mein Vorschlag:

    "SELECT TOP 1 FROM Tabelle"

    Gruss
    Bethoven

    1. Moin!

      Du hast zwar schon eine Lösung bekommen,
      doch hier ist noch mein Vorschlag:

      "SELECT TOP 1 FROM Tabelle"

      Funktioniert aber nicht mit MySQL (war explizit im Posting genannt!).

      - Sven Rautenberg

      --
      ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|
  3. Hallo,
    ganz einfach, mit LIMIT

    $var = "SELECT * FROM [tabellenname] ORDER BY ID DESC LIMIT 1";
    $sql = mysql_query($var,$verbindung);
    //Der letze wird ausgegeben

    $var = "SELECT * FROM [tabellenname] ORDER BY ID LIMIT 1";
    $sql = mysql_query($var,$verbindung);
    //Der erste wird ausgegeben.

    MFG
    Andavos

    --
    http://www.rpgcommunity.de/clanwissen/index.php Webdesign, PHP, Clan-Aufbau und mehr