ricardillo: letzte eintrag in datenbank

hallo an alle.
ich wollte das letzte eintrag die ich in ein datenbank eingegeben habe rufen, dafür habe ich folgende code gebastelt aber leider geht nicht kann jemand mir helfen.

include "../../connect/connect_mssql.inc.php4";
$connect = new mssql_connection("rt4049","Baken_Oefen");

$sqlzeile1 =
   "SELECT
       End_zeit from Baken_Belegung
       Where Ofen_name = 'BAKE1' and LAST_INSERT_ID(id)";
$connect->dbSelect($sqlzeile1);
$last_inserted = $connect->werte;
$connect->show_data();

  1. Hallo!

    "SELECT
           End_zeit from Baken_Belegung
           Where Ofen_name = 'BAKE1' and LAST_INSERT_ID(id)";

    LAST_INSERT_ID() gibt Dir nur während einer Verbindung die zu letzt vergebene ID (Auto-Increment) zurück.

    Spalte -> id (Auto-Increment)

    SELECT End_zeit FROM Baken_Belegung ORDER BY id DESC LIMIT 1;

    MfG, André Laugks

    1. es war nicht ganz gut, ich habe folgendes gemacht

      $sqlzeile1 =
         "SELECT
             End_zeit from Baken_Belegung
             Where Ofen_name = 'BAKE1'
              ORDER BY id DESC LIMIT 1";
      $connect->dbSelect($sqlzeile1);
      $last_inserted = $connect->werte;
      $connect->show_data();

      aber leider kommt solche fehlermeldung.

      Warning: mssql_query(): message: Line 4: Incorrect syntax near 'LIMIT'. (severity 15) in /projects/tz-www-apache/connect/connect_mssql.inc.php4 on line 70

      Warning: mssql_query(): Query failed in /projects/tz-www-apache/connect/connect_mssql.inc.php4 on line 70
      Line 4: Incorrect syntax near 'LIMIT'.

      1. Hallo ricardillo,

        selektiere doch mal zusätzlich die id, damit order den Wert auch hat nach dem sortiert werden soll.

        Gruß Mia

        1. Hallo!

          selektiere doch mal zusätzlich die id, damit order den Wert auch hat nach dem sortiert werden soll.

          Braucht man nicht!

          MfG, André Laugks

      2. es war nicht ganz gut, ich habe folgendes gemacht

        $sqlzeile1 =
           "SELECT
               End_zeit from Baken_Belegung
               Where Ofen_name = 'BAKE1'
                ORDER BY id DESC LIMIT 1";

        Was Du noch im SQL brauchst mußt Du schon selbst rein schreiben!

        Warning: mssql_query(): message: Line 4: Incorrect syntax near 'LIMIT'. (severity 15) in /projects/tz-www-apache/connect/connect_mssql.inc.php4 on line 70

        Warning: mssql_query(): Query failed in /projects/tz-www-apache/connect/connect_mssql.inc.php4 on line 70
        Line 4: Incorrect syntax near 'LIMIT'.

        Kein Ahnung was Du da noch am SQL-Statment gemacht hast. Das muß was vor dem LIMIT nicht stimmen.

        Diese Synatx läuft auf alle Fälle:
        SELECT * FROM tabelle ORDER BY id DESC LIMIT 1;

        MfG, André Laugks

      3. hi,

        Warning: mssql_query(): message: Line 4: Incorrect syntax near 'LIMIT'. (severity 15) in /projects/tz-www-apache/connect/connect_mssql.inc.php4 on line 70

        wie kommst du darauf, dass es in MS-SQL ein "LIMIT" gäbe?

        das ist mySQL-syntax, die kannst du nicht einfach ohne nachzudenken 1:1 auf jedes andere beliebige DB-system übernehmen.

        gruß,
        wahsaga

        --
        I'll try being nicer if you'll try being smarter.
        1. Hallo!

          /projects/tz-www-apache/connect/connect_mssql.inc.php4

          -----------------------------------------------^

          wie kommst du darauf, dass es in MS-SQL ein "LIMIT" gäbe?

          Ei ei ei, gut aufgepasst! Das habe ich gar nicht gesehen!

          MfG, André Laugks

          1. Hello,

            heute nochmal über ISDN...
            Mein Senf soll doch auch manchmal ganz gut schmecken *gg*

            wie kommst du darauf, dass es in MS-SQL ein "LIMIT" gäbe?

            Ei ei ei, gut aufgepasst! Das habe ich gar nicht gesehen!

            Genau! Das heitß nämlich TOP und muss ziemlich vorne stehen im Statement...

            Select $fields TOP 1 from $table where $filter oder by $timekey desc

            so ungefähr könnte das heißen.

            Liebe Grüße aus http://www.braunschweig.de

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            Nur selber lernen macht schlau
            1. super, vielen dank.

              es hat ganz gut gelauf.

              leider ich habe etwas an die frage vergesen, und das war folgendes. ich wollte das kleiste wert  von die 11 letzte einträge nehmen, die die geschriebene code bekomme ich nur das alle letzte wert, ich weis es war mein schuld. ich habe es nicht richtig gefrag. aber trotzdem bin ich sehr glücklich für ihre hilfe

              1. include "../../connect/connect_mssql.inc.php4";
                $connect = new mssql_connection("rt4049","Baken_Oefen");

                $sqlzeile1 =
                   "SELECT top 11
                       End_zeit from Baken_Belegung
                       Where Ofen_name = 'BAKE1'
                        ORDER BY id DESC ";
                $connect->dbSelect($sqlzeile1);
                $last_inserted = $connect->werte;
                $connect->show_data();

                1. Hello,

                  [...] ich wollte das kleiste wert  von die 11 letzte einträge nehmen, [...]

                  include "../../connect/connect_mssql.inc.php4";
                  $connect = new mssql_connection("rt4049","Baken_Oefen");

                  $sqlzeile1 =
                     "SELECT top 11
                         End_zeit from Baken_Belegung
                         Where Ofen_name = 'BAKE1'
                          ORDER BY id DESC ";
                  $connect->dbSelect($sqlzeile1);
                  $last_inserted = $connect->werte;
                  $connect->show_data();

                  Dazu muss in die Sortierung (order by) nur noch die zusätzliche Kenngröße aufgenommen werden:

                  "SELECT top 11
                       End_zeit from Baken_Belegung
                       Where Ofen_name = 'BAKE1'
                       ORDER BY id DESC, groesse asc;

                  Das "asc" kann man auch weglassen, weil es default ist. Aber man darf (üblicherweise) beliebig viele Sortierungen anreihen und jede einzelne mit einer eigenen Ordnung (ASC/DESC) versehen. Allerdings geht das enorm zu Lasten der Performance.

                  Liebe Grüße aus http://www.braunschweig.de

                  Tom

                  --
                  Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                  Nur selber lernen macht schlau