Ankündigung

Einklappen
Keine Ankündigung bisher.

Zeilennummer einer Abfrage ausgeben

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Gast-Avatar
    Ein Gast erstellte das Thema Zeilennummer einer Abfrage ausgeben.

    Zeilennummer einer Abfrage ausgeben

    Hallo zusammen,

    ich hab folgende Frage: Ich mache eine Abfrage, in der lediglich ein Datensatz herausgenommen werden kann, also
    Code:
      $daten_laden = mysql_query("SELECT * FROM eintrage WHERE datum='$datum_heute'");
      $daten = mysql_fetch_row($daten_laden);
    Nun will ich herausfinden, in welcher Zeile wsich dieser Datensatz befindet. Ist es beispielweise der Dritte von oben, soll die Variable $eintrag_nr den Wert 3 speichern.

    Danke schonmal im vorraus!

  • xabbuh
    antwortet
    Du hast aber schon gesehen, dass mysql_row_tell() in der C-API und nicht in der PHP-API auftaucht?

    Einen Kommentar schreiben:


  • Clint
    antwortet
    9.4.3.46. mysql_row_tell()

    MYSQL_ROW_OFFSET mysql_row_tell(MYSQL_RES *ergebnis)

    Beschreibung

    Gibt die aktuelle Position des Zeilencursors für das letzte mysql_fetch_row() zurück. Dieser Wert kann als Argument für mysql_row_seek() benutzt werden.

    Sie sollten mysql_row_tell() nur nach mysql_store_result(), nicht nach mysql_use_result() benutzen.

    Rückgabewerte

    Der aktuelle Offset des Zeilencursors.
    http://dev.mysql.com/doc/refman/4.0/...-row-tell.html

    Einen Kommentar schreiben:


  • sysop
    antwortet
    mit mysqli_field_tell() sollte es klappen ist aber wohl nur in der cvs version enthalten.
    http://at2.php.net/manual/de/functio...field-tell.php

    Einen Kommentar schreiben:


  • xabbuh
    antwortet
    Also geht es dir darum, zu schauen, wieviele Datensätze eine kleiner ID haben?!

    Code:
    SELECT
        t1.datum,
        (SELECT COUNT(t2.id) FROM tabelle AS t2 WHERE id <= t1.id) AS zeilennummer
    FROM
        tabelle AS t1
    WHERE
        t1.datum = NOW()

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Mh ja, also wie schon gesagt. Wenn man sich jetzt mal die ganze Tabelle beispielweise in phpMyAdmin anschaut, man hat insgesamt 35 Datensätze drin.
    Dann macht man eine Abfrage, es kommt dabei lediglich einer dieser Datensätze raus. Beispielsweise der 3. von oben, wenn wir mal wieder die gesamte Tabelle anschauen.
    Jetzt brauch ich eine Funktion, in der man ermitteln kann, dass genau dieser Datensatz der Dritte von oben ist.

    Einen Kommentar schreiben:


  • xabbuh
    antwortet
    Dann müsstest du aber erst einmal definieren, was die Zeilennummer eines Datensatzes ist.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Nein ich will lediglich die Zeilennummer des aktuellen Datensatzes ausgeben. Das hat im ersten Moment garnichts mit dem Datum zu tun.

    Einen Kommentar schreiben:


  • xabbuh
    antwortet
    Mal so ne Frage: Was bedeutet für dich denn überhaupt "der dritte Datensatz" von oben? Willst du ermitteln, wieviele Datensätze es gibt, die ein kleineres Datum haben?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    ansonsten $eintrag_nr = mysql_row_tell();
    Das ist komisch, dieese Funktion gibt es laut php.net garnicht. Wenn ich die selber ausprobiere kommt Call to undefined function mysql_row_tell().

    Kann mir jemand weiterhelfen?

    Einen Kommentar schreiben:


  • Zergling-new
    antwortet
    Hinweis noch: Mach noch ein LIMIT 1 hinter dein Datums-WHERE. Die Datenbank weiß nämlich nicht, dass es nur ein Datum geben kann, wenn das Feld nicht als Unique deklariert ist. So geht die Abfrage etwas schneller.

    Einen Kommentar schreiben:


  • Clint
    antwortet
    Wenn du keine daten löschst und auto_increment benützt dann ist es der wert des primary_index
    ansonsten $eintrag_nr = mysql_row_tell();

    Einen Kommentar schreiben:

Lädt...
X