Hi!
Ich will die Ergebnisse in der entgegengesetzten Reihenfolge zur Reihenfolge der Eingabe ausgeben. Also der Eintrag der zuletzt eingetragen wurde soll zuerst ausgegeben werden.
Ich wollte es mit Hilfe der ID der Einträge machen, aber das klappt irgentwie nicht :(
Ich hab diese Abfrage:
SELECT * FROM comments WHERE ID=\"$TypeID\" Type=\"$Type\" ORDER BY ID DESC;
Danke!
cu tj99de
mastermack
20-03-2002, 10:48
Weiß jetzt nicht genau was du meinst.
Aber reicht es nicht eigentlich wenn du aus DESC einfach ASC machst ?
schmalle
20-03-2002, 10:58
was soll daran nicht gehen? das muss gehen. aber der query sollte nicht mit \" sondern mit ' gebastelt werden
Das dachte ich ja auch, daß das gehen muß, aber das geht nicht.
Die Abfrage stammt aus nem PHP-Befehl, daher auch die \"
Kann es daran liegen, daß ID der Primärschlüssel ist?
Aber ich muß doch eigentlich auch nach Primärschlüsseln sortieren können, oder nicht?
Ich erkläre einfach noch mal was ich machen will:
Ich habe eine Tabelle in der Kommentare zu allen möglichen Themen und Rubriken drin stehen.
Aus dieser Tabelle will ich alle Kommentare die zum gewählten Thema und Rubrik gehören.
Als Ausgabereihenfolge will ich den Kommentar der zu letzt eingegeben wurde, also den mit der höchsten ID zu oberst stehen haben.
schmalle
20-03-2002, 11:18
klar kann man nach prim-key sortieren. was bekommst du denn für ein ergebnis?
Ich bekomme aller Kommentare in der Reihenfolge in der sie eingetragen wurde aufgelistet.
Das is natürlich doof, denn was interessiert mich der Kommentar von vor 3 Monaten...
schmalle
20-03-2002, 11:28
ahhhhh, ich hatte dich falsch verstanden :) lass das "DESC" weg :)
Wieso, die IDs sollen doch absteigend sortiert werden, damit die größte ganz oben steht.
schmalle
20-03-2002, 11:36
hmm jetzt haste es geschfft .... ich weiss gar nchts mehr :)
der neuste beitrag soll oben stehen! der neuste beitrag hat die höchste ID
dann bleibt das DESC natürlich. aber dann musst du noch n anderen fehler drin haben. speicherst du das datum des eintrags? falls ja sortier danach
Bisher speichere ich das Datum nicht, aber wenn sich keine andere Lösung findet, speicher ich das noch zusätzlich...
Ansich ist das Sortieren nach ID bei Deinem Statement sinnlos, da Du ja nur eine ID über die Where Bedingung erhältst - ich nehme an die ID ist eindeutig (unique).
SELECT * FROM comments WHERE ID='$TypeID' Type='$Type' ORDER BY ID DESC;
Ausßerdem fehlt da noch ein AND
SELECT * FROM comments WHERE ID='$TypeID' AND Type='$Type' ORDER BY ID DESC;
Wenn die ID öfters vorkommen sollte, so brauchst Du ein anderes Sortierkriterium.
SELECT * FROM comments WHERE ID='$TypeID' AND Type='$Type' ORDER BY Type DESC;
(ID kannst Du ja, bedingt durch die WHERE Bedingung weglassen)
Soweit ich weiss, Order by ASC oder DESC sortiert die Ergebnisse nach Namen. Und ich denke, dass du time() Spalte einfügen solltest und dann nach letzten Einträgen zu sortieren.