Seite 1 von 2
Themen Sortierung
Verfasst: 23.07.2004 00:01
von Jaky
Hab da ein kleines Problem.
Ich möchte innerhalb eine Kategorie die Themen anders sortieren.
Statt wie üblich nach der Laufenden Nummer einfach Alphabetisch von a bis z.
Siehe hier:
http://kritiken.info/viewforum.php?f=362
Hat da wer ne Ideeeee??
Verfasst: 23.07.2004 00:51
von Blutgerinsel
Hey,
ist doch net schwer?
Suche nach
Code: Alles auswählen
//viewforum.php//
if ( !empty($forum_id) )
{
$sql = "SELECT *
FROM " . FORUMS_TABLE . "
WHERE forum_id = $forum_id";
ersetze mit:
Code: Alles auswählen
//viewforum.php//
if ( !empty($forum_id) )
{
$sql = "SELECT *
FROM " . FORUMS_TABLE . "
WHERE forum_id = '$forum_id'
Order By forum_name
";
.....Hmm jetzt wo ich die ganzen Dokumaterialien hab (dank euch) kann ich mein Board mal umstricken.....
und ich fang gleich mit sämtlichen Selectlisten in der Adminconsole an geht mir auf den Keks......
Verfasst: 23.07.2004 00:55
von D@ve
Keine professionelle Lösung (also keine Steuerung über das ACP), aber es sollte gehen:
Finde in der viewforum.php
Code: Alles auswählen
$sql = "SELECT t.*, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.post_username, p2.post_username AS post_username2, p2.post_time
FROM " . TOPICS_TABLE . " t, " . USERS_TABLE . " u, " . POSTS_TABLE . " p, " . POSTS_TABLE . " p2, " . USERS_TABLE . " u2
WHERE t.forum_id = $forum_id
AND t.topic_poster = u.user_id
AND p.post_id = t.topic_first_post_id
AND p2.post_id = t.topic_last_post_id
AND u2.user_id = p2.poster_id
AND t.topic_type <> " . POST_ANNOUNCE . "
$limit_topics_time
ORDER BY t.topic_type DESC, t.topic_last_post_id DESC
LIMIT $start, ".$board_config['topics_per_page'];
Ersetze durch:
Code: Alles auswählen
$x = 7;
if ($forum_id == $x)
{
$sql = "SELECT t.*, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.post_username, p2.post_username AS post_username2, p2.post_time
FROM " . TOPICS_TABLE . " t, " . USERS_TABLE . " u, " . POSTS_TABLE . " p, " . POSTS_TABLE . " p2, " . USERS_TABLE . " u2
WHERE t.forum_id = $forum_id
AND t.topic_poster = u.user_id
AND p.post_id = t.topic_first_post_id
AND p2.post_id = t.topic_last_post_id
AND u2.user_id = p2.poster_id
AND t.topic_type <> " . POST_ANNOUNCE . "
$limit_topics_time
ORDER BY t.topic_type DESC, topic_title
LIMIT $start, ".$board_config['topics_per_page'];
} else
{
$sql = "SELECT t.*, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.post_username, p2.post_username AS post_username2, p2.post_time
FROM " . TOPICS_TABLE . " t, " . USERS_TABLE . " u, " . POSTS_TABLE . " p, " . POSTS_TABLE . " p2, " . USERS_TABLE . " u2
WHERE t.forum_id = $forum_id
AND t.topic_poster = u.user_id
AND p.post_id = t.topic_first_post_id
AND p2.post_id = t.topic_last_post_id
AND u2.user_id = p2.poster_id
AND t.topic_type <> " . POST_ANNOUNCE . "
$limit_topics_time
ORDER BY t.topic_type DESC, t.topic_last_post_id DESC
LIMIT $start, ".$board_config['topics_per_page'];
}
Wobei Du bei
die
7 durch die Foren-ID ersetzen solltest, in dem Du die Topics alphabetisch ordnen willst...
Gruß, Dave
Verfasst: 23.07.2004 01:11
von Jaky
Kann ich das auch mit mehreren Foren machen?
Steht jetzt auf $x = 362;
z.B. $x = 362;248; usw.??
Oder gibt es da eine andere Lösung?
Verfasst: 23.07.2004 01:12
von Blutgerinsel
D@ve hat geschrieben:Keine professionelle Lösung (also keine Steuerung über das ACP), aber es sollte gehen:
Ich kenne das PHPBB vom Code so gut wie gar nicht aber was du hier nennst kann nicht sein.....
Warum? Ganz einfach von der Logik kann es sich hierbei nur um eine Tabelle handeln.....Sind genau 3 Informationen...
Und alles was der threadstarter sortieren möchte sind die Foren und das muss ersteres sein von mir.....
P.S.: Hab die File nur kurz überflogen und trotzdem glaube ich net zu lügen

Verfasst: 23.07.2004 01:16
von Blutgerinsel
Kommando zurück das sind keine Foren sondern Topics *omg*
voll verguckt -> Hände weg vom Alkohol

Verfasst: 23.07.2004 01:55
von Blutgerinsel
Jaky hat geschrieben:Kann ich das auch mit mehreren Foren machen?
Steht jetzt auf $x = 362;
z.B. $x = 362;248; usw.??
Oder gibt es da eine andere Lösung?
ok jetzt kann ich mich wieder konzentrieren
Du kannst in diesem Fall nur wirklich mit einem Forum machen....
du kannst aber das davor setzen:
Code: Alles auswählen
//init
$order=array(0 => 7, 1 => 9, 2 => 13);
$orderbytitle=false;
foreach ($order as $temp) {
If ($temp == $forum_id) $orderbytitle=true;
}
Beim bisherigen von @ D@ve änderst du das If
so ab:
7,9,13 die sind die Foren die die Topics innerhalb nach Topictitel sortieren alle anderen nach lastpost.....
Das Array kannst du vergrößern nach Anzahl der Foren die dementsprechend sortiert werden sollen.....
Sollten es alle sein kannst das weglassen und einfach nur das order by so umstricken wie bereits angegeben....
Sry bin müde und leicht angetrunken da trübt die Wahrnehmung

Verfasst: 23.07.2004 12:57
von D@ve
Blutgerinsel hat geschrieben:D@ve hat geschrieben:Keine professionelle Lösung (also keine Steuerung über das ACP), aber es sollte gehen:
Ich kenne das PHPBB vom Code so gut wie gar nicht aber was du hier nennst kann nicht sein.....
Und alles was der threadstarter sortieren möchte sind die Foren und das muss ersteres sein von mir.....
Nein, er wollte "Themen" sortieren, und nichts anderes hab ich gepostet.
Kann ich das auch mit mehreren Foren machen?
Steht jetzt auf $x = 362;
z.B. $x = 362;248; usw.??
Oder gibt es da eine andere Lösung?
Ja ist kein Problem, dann ist es aber ohne die $x-Variable leichter:
Code: Alles auswählen
if ($forum_id == 7 || $forum_id == 8 || $forum_id == 25)
Das kannst Du beliebig erweitern.
|| steht für ein logisches ODER. Du könntest es natürlich auch über ein Array machen, wie Blutgerinsel das vorgeschlagen hat, aber so ist es einfacher nachzuvollziehen...
Gruß, Dave
Verfasst: 23.07.2004 23:07
von Jaky
@all
Danke für die wertfollen Tips.
@Da@ve
Dein vorschlag ist die einfachste und wirkungsvollste Lösung.
habe von 370 Foren erst einmal 3 eingebunden um die Rechenzeit mal im

zu behalten.
Funst super!!
Code: Alles auswählen
if ($forum_id == 361 || $forum_id == 362 || $forum_id == 363)
{
$sql = "SELECT t.*, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.post_username, p2.post_username AS post_username2, p2.post_time
FROM " . TOPICS_TABLE . " t, " . USERS_TABLE . " u, " . POSTS_TABLE . " p, " . POSTS_TABLE . " p2, " . USERS_TABLE . " u2
WHERE t.forum_id = $forum_id
AND t.topic_poster = u.user_id
AND p.post_id = t.topic_first_post_id
AND p2.post_id = t.topic_last_post_id
AND u2.user_id = p2.poster_id
AND t.topic_type <> " . POST_ANNOUNCE . "
$limit_topics_time
ORDER BY t.topic_type DESC, topic_title
LIMIT $start, ".$board_config['topics_per_page'];
} else
{
$sql = "SELECT t.*, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.post_username, p2.post_username AS post_username2, p2.post_time
FROM " . TOPICS_TABLE . " t, " . USERS_TABLE . " u, " . POSTS_TABLE . " p, " . POSTS_TABLE . " p2, " . USERS_TABLE . " u2
WHERE t.forum_id = $forum_id
AND t.topic_poster = u.user_id
AND p.post_id = t.topic_first_post_id
AND p2.post_id = t.topic_last_post_id
AND u2.user_id = p2.poster_id
AND t.topic_type <> " . POST_ANNOUNCE . "
$limit_topics_time
ORDER BY t.topic_type DESC, t.topic_last_post_id DESC
LIMIT $start, ".$board_config['topics_per_page'];
}
Verfasst: 24.07.2004 00:23
von D@ve
Wiebitte??? Du hast... 370 FOREN???