Ilja: Counter in DB

Beitrag lesen

yo,

wie bereits mehrfach erwähnt wurde geht das nicht über die ID des datensatzes zu lösen. eine tabelle ist eine unsortierte menge und man muss sich schon was einfallen lassen, um eine sortierung reinzubekommen.

Wie kann ich das machen. Das der Counter sich mit verändert.

der Counter verändert sich nur, wenn er nicht in der datenbank mit eingetragen wird, sondern bei der ausgabe. das klingt auf den ersten blick ein wenig verwirrend, sollte aber deine dynamik erzeugen können. zusätzlich brauchst du noch eine weitere spalte, welche die ordnung reinbringt, wie ebenfalls schon mehrfach erwähnt wurde. wenn die datensatze alle nacheinander eingefügt werden und das das kriterium für die reihenfolge ist, dann empfehle ich dir eine spalte mit dem datum/uhrzeit mit aufzunehmen. diese spalte kann dann für die ORDER BY klausel herangezogen werden. folgend ein beispiel, wie es funktioniert.

ID, Test1, Datum 1
ID, Test2, Datum 2
ID, Test3, Datum 3

Die abfrage dafür würde lauten.

SELECT ID, Eintrag FROM tabelle ORDER BY Datum

wie gesagt musst du nun noch den Counter reinbringen. dass geht entweder über PHP, indem du dort eine variable deklarierst, die bei 1 startet und sich nach jeder ausgabe eines datensatzes um 1 erhöht. oder aber du deklarierst eine variable in mysql und baust die viariable in die abfrage mit ein. das ist ein wenig komplizierter.

fällt nun einer der datensätze weg, sortiert er automatisch nach dem datum und der counter passt sich auch an.

Ilja