Assoziatives Array (Zeilen Array) sortieren

Gladiator6

Erfahrenes Mitglied
Hallo

Ich habe ein Array welches Zeilen einer Datenbankabfrage enthält!

Das Array enthält also mehrere Zeilen einer Tabelle mit mehreren Spalten, unter anderem den Spalten timestamp, startzeit.

Ich möchte nun dieses Array nach Datum und Startzeit sortieren, sprich zuerst soll der Timestamp aufsteigend sortiert werden, und falls der timestamp identisch ist, soll auch noch nach startzeit aufsteigend sortiert werden.

Wie erreiche ich am einfachsten eine solche Sortierung?
 
Am einfachsten geht das natürlich schon bei der MySQL-Abfrage selbst:

Code:
ORDER BY `timestamp` ASC, `startzeit` ASC
 
Vielen Dank

Ich beschäftige mich zum ersten mal wirklich mit mysql. Ich habe mir ein paar mal die Frage gestellt, was wohl einfacher und sinnvoller is, möglichst gleich alle Daten abfragen und anschliessend die Daten in PHP zu sortieren und aufzubereiten, oder nur gerade diese Daten abzufragen die man auch benötigt!
 
Ok

Wie viele Zeilen kann ich eigentlich maximal pro sql Abfrage in ein Array schreiben?

Bei riesigen Datenbanken wird man ja sicherlich nicht alle Daten auf einmal abfragen können?
 
Wenn ich irgend etwas aus einer Datenbank abfrage, weil ich es nachher in irgend einer Form auf der Website anzeigen möchte, dann muss ich doch diese Daten aus der Datenbank in irgend einer Form speichern so dass ich mit PHP weiter arbeiten kann?
 
Hi,

das sieht in der Regel so aus, dass man die Ausgabe auf der Seite in der Schleife macht, in der die Einträge aus dem Result Set ausgelesen werden. Dazu muss man nicht alles auf einaml in ein extra Array schreiben.

PHP:
$result = mysql_query('SELECT whatever ...');
while($row = mysql_fetch_assoc($result)) {
   echo $row['feld1'];
   echo $row['feld2'];
   ...
}

Und alle Einträge gibt man ja auch selten auf einer Seite aus, man verteilt das auf mehrere Seiten (Suchbegriff: Blätterscript).

LG
 
ok, ich hab das halt anders gemacht.

Ich habe eine einfache Datenbank Klasse geschrieben die eine Methode execute() hat. Diese Methode liefert mir bei einer SELECT Abfrage automatisch einen assoziativen Array zurück! Mit diesem Array habe ich dann gearbeitet! Vielleicht ist es nicht die einfachste Art, bisher aber erfolgreich!

Meine ursprüngliche Frage in diesem Thread war dann wie ich ein solches Array mit PHP sortieren könnte!
 
Hi,

Meine ursprüngliche Frage in diesem Thread war dann wie ich ein solches Array mit PHP sortieren könnte!

Ja und? asipak4you hat Dir das doch schon beantwortet. Lass die Datenbank sortieren.

Meint Post bezog sich doch nur hierauf:

Wie viele Zeilen kann ich eigentlich maximal pro sql Abfrage in ein Array schreiben?

Bei riesigen Datenbanken wird man ja sicherlich nicht alle Daten auf einmal abfragen können?

Was gibt' s da jetzt zu maulen (oder wie soll ich die Rufzeichen hinter jedem Satz deuten?)?

Ich habe eine einfache Datenbank Klasse geschrieben die eine Methode execute() hat. Diese Methode liefert mir bei einer SELECT Abfrage automatisch einen assoziativen Array zurück! Mit diesem Array habe ich dann gearbeitet! Vielleicht ist es nicht die einfachste Art, bisher aber erfolgreich!

Es ist nicht nur nicht die einfachste Art, es ist auch nicht die performanteste. So musst Du ja ein Result immer zweimal durchlaufen, einmal beim Auslesen und einmal beim Verarbeiten. Ganz abgesehen davon, dass es natürlich mehr Speicher frisst. Wenn Du dir also schon Sorgen darum machst, solltest Du davon Abstand nehmen.

LG
 
Zurück