Dirtysix: Automatisch sortieren einer Mysql-DB

Hallo!

Gleich mal mein Problem: Ich habe eine MySQL-DB in der ich Links zu Bilder abspeichere, welche ich über ein Formular hochlade.

Problem ist jetzt nur, dass ich die Bilder nicht nach der Reihenfolge in der ich sie hochlade bekomme sondern alphabetisch sortiert.

Gibt es eine Möglichkeit die DB so zu sortieren ,dass sie mir die bilder nach der reihenfolge zurückgibt wie ich sie hochlade?

Danke Schonmal!

  1. hallo, du kannst bei der Abfrage folgendes hinzufügen:

    SORT BY

    in deinem fall könntest dann nach der id sortieren oder eine extra spalte mit dem datum für jedes bild in der db speichern und dann nach dem datum sortieren.

    1. Moin!

      hallo, du kannst bei der Abfrage folgendes hinzufügen:

      SORT BY

      "ORDER BY spalte" ist korrekt.

      in deinem fall könntest dann nach der id sortieren oder eine extra spalte mit dem datum für jedes bild in der db speichern und dann nach dem datum sortieren.

      Datenbanken speichern die Daten grundsätzlich nicht nach irgendeiner Sortierung, sondern im Prinzip unsortiert (auch wenn eine leere Datenbank, die man befüllt, die unsortierte Ausgabe vermutlich nach der Reihenfolge der eingefügten Datensätze wieder ausgibt - das ist aber kein Effekt, auf den man sich verlassen kann). Wenn man eine bestimmte Sortierung haben will, muß man dafür sorgen, dass die Datenbank die entsprechende Sortier-Info (was kommt zuerst, was später) besitzt, und danach dann sortieren lassen.

      - Sven Rautenberg

      --
      "Love your nation - respect the others."
      1. Ja nach Datum sortieren hab ich mir auch schon überlegt aber da wird die uhrzeit ja nicht berücksichtigt und ich kann nich davon ausgehen, dass ich nur ein bild pro tag hochlade.

        und irgendeinen Key kann ich auch nicht verwenden weil der ja automatisch hochzählen müsste und in der php ja nicht gespeichert wird.

        1. Üblicherweise legt man in der mysql datenbank ein id feld an. wenn man dieses feld als index definiert und auto_increment unter extras einstellt, dann wird automatisch die id bei jedem eintrag in die db hochgezählt...

          1. Ha Ja das war die Info die gefehlt hat!

            Danke!

          2. Hello,

            Üblicherweise legt man in der mysql datenbank ein id feld an. wenn man dieses feld als index definiert und auto_increment unter extras einstellt, dann wird automatisch die id bei jedem eintrag in die db hochgezählt...

            Und gerade bei MySQL hat es bisher immer geheißen, dass der "Autoincrement-Key" nicht garantiert immer nur hochzählen würde...
            Nicht gemeint war damit die Möglichkeit, ihn sogar selber angeben zu können.

            Es gibt ausreichend Threads hier im Archiv zu diesem Thema.

            Ich wollte das nie glauben, dass ein Datenbankentwickler so einen Blödsinn produziert, aber man hat mir immer geantwortet, das wäre absichtlich so.

            Für Blödsinn hielt ich das deshalb, weil es keine andere Möglichkeit gab mit _einer_ Tabelle (bzw. in einem Statement) einen fortlaufenden Wert zu erzeugen. Timestamps sind bekanntermaßen abhängig von der Zeit, und nicht von der Reihenfolge des Eintrages. Und das ist eben nicht immer dasselbe. Es könnten schon mehrere Datensätze zur selben Zeit eingetregen werden angesichts der schnellen Hosts heutzutage.

            Harzliche Grüße vom Berg
            http://bergpost.annerschbarrich.de

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            Nur selber lernen macht schlau
            Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)