Themen Sortierung

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
Jaky
Mitglied
Beiträge: 107
Registriert: 23.03.2003 16:52
Wohnort: Alicante (Spanien)
Kontaktdaten:

Themen Sortierung

Beitrag 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??
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag 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......
Benutzeravatar
D@ve
Ehemaliges Teammitglied
Beiträge: 3842
Registriert: 28.08.2002 19:33
Wohnort: Bretzfeld
Kontaktdaten:

Beitrag 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

Code: Alles auswählen

$x = 7;
die 7 durch die Foren-ID ersetzen solltest, in dem Du die Topics alphabetisch ordnen willst...

Gruß, Dave
There are only 10 types of people in the world: Those who understand binary, and those who don't
Benutzeravatar
Jaky
Mitglied
Beiträge: 107
Registriert: 23.03.2003 16:52
Wohnort: Alicante (Spanien)
Kontaktdaten:

Beitrag 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?
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag 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 :wink:
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

Kommando zurück das sind keine Foren sondern Topics *omg*
voll verguckt -> Hände weg vom Alkohol :lol:
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag 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

Code: Alles auswählen

if ($forum_id == $x)
so ab:

Code: Alles auswählen

If ($orderbytitle)
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 :lol:
Benutzeravatar
D@ve
Ehemaliges Teammitglied
Beiträge: 3842
Registriert: 28.08.2002 19:33
Wohnort: Bretzfeld
Kontaktdaten:

Beitrag 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
There are only 10 types of people in the world: Those who understand binary, and those who don't
Benutzeravatar
Jaky
Mitglied
Beiträge: 107
Registriert: 23.03.2003 16:52
Wohnort: Alicante (Spanien)
Kontaktdaten:

Beitrag 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 :wink: 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']; 
  }
Benutzeravatar
D@ve
Ehemaliges Teammitglied
Beiträge: 3842
Registriert: 28.08.2002 19:33
Wohnort: Bretzfeld
Kontaktdaten:

Beitrag von D@ve »

Wiebitte??? Du hast... 370 FOREN???
There are only 10 types of people in the world: Those who understand binary, and those who don't
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“