Reihenfolge der Ausgabe des Topic-(/Themen-)Moduls

Begonnen von keks, 15 Mai 2006, 14:38:55

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

keks

Hiho!

1. Das Topic-Modul gibt die Themen in deren alphabetischer Reihenfolge aus.
2. Innerhalb eines angezeigten Themas wird zeitlich rückwärts (das neuste zuoberst) sortiert.

Kann man etwas davon umkehren. Möglichst "1.".

Grund: Nutzt man das Ganze als Tagebuch mit den Themen als Monats-Container mit dem Namensformat JAHR_MO (MO = numerischer Monat), dann werden die Monate von alt (= oben [kleine Nummer ]) nach neu (unten [größere Nummer]) angezeigt, aber innerhalb dieser Tabellen wird von neu (oben) nach alt (unten) sortiert. Das ist unschön.

Daher: Wie könnte ich "1." umkehren? Das neuste soll oben stehen, genau wie innerhalb der Themen.

Danke schonmal,
der Keks

Andi

Hi :)

in der Datei /modules/topics/index.php, findest du ab Zeile #41 folgende Datenbankabfrage:
$qry1 = "SELECT topicid, topicimage, topictext, Count(${prefix}_stories.sid) AS sidcount, Sum(${prefix}_stories.counter) AS allreads
FROM ${prefix}_topics
LEFT JOIN ${prefix}_stories ON ${prefix}_topics.topicid = ${prefix}_stories.topic
$qrylang1
GROUP BY topicid, topicimage, topictext
HAVING Count(${prefix}_stories.sid) > 0
ORDER BY topictext";
ORDER BY topictext bestimmt hier die aufsteigende Sortierung nach dem Titel.
Um dies zu ändern, ergänze dieses ORDER BY mit dem Parameter "DESC"
Die komplette Abfrage sieht dann so aus:$qry1 = "SELECT topicid, topicimage, topictext, Count(${prefix}_stories.sid) AS sidcount, Sum(${prefix}_stories.counter) AS allreads
FROM ${prefix}_topics
LEFT JOIN ${prefix}_stories ON ${prefix}_topics.topicid = ${prefix}_stories.topic
$qrylang1
GROUP BY topicid, topicimage, topictext
HAVING Count(${prefix}_stories.sid) > 0
ORDER BY topictext DESC";


Die Sortierung der einzelnen Artikel findest du etwas weiter unten, ab Zeil #64$qry2 = "SELECT sid, ${prefix}_stories.title, time, aid, ${prefix}_stories.catid, ${prefix}_stories_cat.title AS cat_title
FROM ${prefix}_stories LEFT JOIN ${prefix}_stories_cat ON ${prefix}_stories.catid = ${prefix}_stories_cat.catid
WHERE (`topic`='$tid' AND ${prefix}_stories.time <= now() $qrylang2)
ORDER BY ${prefix}_stories.time DESC
LIMIT 0," . $headlinecount . "";
ORDER BY ${prefix}_stories.time DESC bestimmt hier die absteigende Reihenfolge nach dem Veröffentlichungsdatum.
Um dies zu ändern, machst du aus dem DESC ein ASC, also so:$qry2 = "SELECT sid, ${prefix}_stories.title, time, aid, ${prefix}_stories.catid, ${prefix}_stories_cat.title AS cat_title
FROM ${prefix}_stories LEFT JOIN ${prefix}_stories_cat ON ${prefix}_stories.catid = ${prefix}_stories_cat.catid
WHERE (`topic`='$tid' AND ${prefix}_stories.time <= now() $qrylang2)
ORDER BY ${prefix}_stories.time ASC
LIMIT 0," . $headlinecount . "";
schön´s Grüssle, Andi

keks

Ich bin sprachlos!  :thumbup:

Ganz, ganz herzlichen Dank!

Viele Grüße,
der Keks