MySQL: Datensatznummer? (Programmieren)

MySQL: Datensatznummer? (Programmieren)

Hallo,

kann mir jemand sagen, ob es möglich ist, die Nummer eines bestimmten Datensatzes auszugeben? Ich meine nicht beispielsweise die ID, die in Tabellen manuell angelegt wird, sondern eine Möglichkeit, sozusagen ausgeben zu lassen, in welcher Zeile dieser Datensatz steht. Per ID lässt sich dies aus dem Grund nicht realisieren, da es ja sein kann, dass Datensätze gelöscht werden - da würde das ganze System theoretisch durcheinanderkommen.

Ich versuche, das mal zu veranschaulichen:

ID Name
2 Hund
3 Katze
5 Maus
9 Elefant
15 Tiger
19 Chamäleon
20 Otter

Wie zu erkennen ist, hat die Maus die ID 5, steht aber in der dritten Zeile. Ist es möglich, diese Zeilennummer auszugeben?

Das ganze brauche ich für eine Art "Blätterfunktion", bei der die Artikel per Variable in der URL ausgelesen werden, quasi archive.php?article=5. Da ja aber praktisch unbekannt ist, welche ID nach der 5 wirklich kommt (6-8 sind ja unbelegt), wäre meines Erachtens am sinnvollsten, den nächsten Datensatz auszulesen und dann in dem "Vorwärts-Link" auf die ID des nächsten Datensatzes zu verweisen, also auf archive.php?article=9.

Ich hoffe, ich habe mein Problem verständlich genug formuliert und wäre für jede hilfreiche Antwort überaus dankbar!
Das Problem hat sich erübrigt, da ich es mit Hilfe eines Arrays gelöst habe. Mich würde dennoch interessieren, ob es nicht auch einfacher mit einer entsprechenden "Zeilen-Nummerier-Funktion" gehen würde.
Gibts nicht. Die "Datensatznummer" hängt immer vom Sortierkriterium ab (ASC/DESC). Das, was du in phpMyAdmin, der Konsole o.Ä. ausgegeben bekommst, ist nur eine visualisierte Darstellung der Daten. So speichert MySQL die Daten nicht. Es ist relativ kompliziert zu erklären, beschäftige dich dazu am besten mal mit den Ausleseverfahren von MySQL.
Dass phpMyAdmin etc. nur eine Visualisierung der tatsächlichen Datenbank ist, ist mir schon klar. Mir ging es genau genommen darum, ob man sozusagen die Ergebnistabelle einer Abfrage fortlaufend durchnummerieren kann, wobei auch nicht weiter tragisch ist, dass das nicht funktioniert. Wie schon gesagt: Es klappt jetzt mit Hilfe eines Arrays, in das die Abfrageergebnisse eingetragen werden.
Jep eben. Es klappt nicht.
Du hättest maximal noch die Möglichkeit, dir die Zeilen mittel mysql_num_rows() ausgeben zu lassen. Dann kannst du den Zeiger mittel mysql_data_seek() auf eine individuelle Zeile setzen.
Genau sowas habe ich gemeint. ;)
Allerdings werde ich den Code jetzt nicht mehr ändern, es klappt ja auch mit dem Array so wie es soll. In der sozusagen "zweiten Version" werde ich mal mysql_data_seek() ausprobieren, wobei ich da wahrscheinlich auch noch zusätzlich das Programm herausfinden lassen müsste, welche Datensatznummer der aktuellen Seite zugeordet wird. Insofern würde es sich wahrscheinlich nicht großartig von meiner Array-Methode unterscheiden.

Vielen Dank jedenfalls, die Funktion habe ich noch nicht gekannt!
Logge dich ein um einen Beitrag zu schreiben.