Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Abfrage sortieren [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Abfrage sortieren


 
tj99de
20-03-2002, 10:39 
 
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

 
tj99de
20-03-2002, 11:13 
 
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?

 
tj99de
20-03-2002, 11:26 
 
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 :)

 
tj99de
20-03-2002, 11:32 
 
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

 
tj99de
20-03-2002, 11:38 
 
Bisher speichere ich das Datum nicht, aber wenn sich keine andere Lösung findet, speicher ich das noch zusätzlich...

 
hand
20-03-2002, 17:24 
 
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)

 
archie
31-03-2002, 10:35 
 
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.


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:29 Uhr.