Alphabetische 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.
Jugger75
Mitglied
Beiträge: 18
Registriert: 14.01.2006 01:14
Kontaktdaten:

Beitrag von Jugger75 »

Code: Alles auswählen

// All announcement data, this keeps announcements
// on each viewforum page ...
//
global $forum_id; 
if(in_array($forum_id, array(12,13,14))) 
{ 
$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_title ASC 
   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']; 
}
if ( !($result = $db->sql_query($sql)) )
{
   message_die(GENERAL_ERROR, 'Could not obtain topic information', '', __LINE__, __FILE__, $sql);
}

$topic_rowset = array();
$total_announcements = 0;
while( $row = $db->sql_fetchrow($result) )
{
Jugger75
Mitglied
Beiträge: 18
Registriert: 14.01.2006 01:14
Kontaktdaten:

Beitrag von Jugger75 »

und er macht auch alle Ankündigung weg :-?
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Das liegt daran, dass du es an der falschen Stelle ersetzt hast. Die Abfrage die du entfernt hast ist sehr ähnlich, holt aber nur die Announcements aus der DB (auf diese Weise werden die immer oberhalb dargestellt). Da du diese nun ersetzt hast werden natürlich jetzt stattdessen die normalen Foren geholt und an der normalen Stelle noch mal, also gibt es die zwei mal und die Announcements gar nicht. Mach diese Ersetzung also rückgängig und suche nach der anderen Stelle, da sollte das hier drüber stehen:

Code: Alles auswählen

//
// Grab all the basic data (all topics except announcements)
// for this forum
//
EDIT: Das global hat da auch nichts zu suchen, der Code ist ja nicht in einer Funktion, oder?
Zuletzt geändert von gn#36 am 05.11.2006 14:31, insgesamt 1-mal geändert.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Jugger75
Mitglied
Beiträge: 18
Registriert: 14.01.2006 01:14
Kontaktdaten:

Beitrag von Jugger75 »

Es geht wunderbar :D

Ich danke dir vielmals :D
IPB_Flüchtling
Mitglied
Beiträge: 1862
Registriert: 23.12.2004 22:46

Beitrag von IPB_Flüchtling »

gn#36 hat geschrieben:EDIT: Das global hat da auch nichts zu suchen, der Code ist ja nicht in einer Funktion, oder?
Danke für die Klarstellung. Wieder etwas gelernt. :) Dein

Code: Alles auswählen

if(in_array($forum_id, array(12,13,14))) 
ist übrigens auch hübsch gelöst. Ich hätte da sicher wieder mit || gearbeitet. :oops:

LG, Wolfgang
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Hat alles Vor- und Nachteile denke ich. Ich bin mir zwar nicht ganz sicher wann, aber ich glaube es gibt durchaus Fälle, in denen das || schneller ist. Über eine Situation in der das viel ausmacht bin ich noch nicht gestolpert, allerdings bei anderen Dingen (z.B. lange Auswahlfeldlisten die häufiger gebraucht werden. Hier hatte ich zunächst die Liste immer neu erstellt (bei 30 Optionen in fast 20 Auswahlfeldern kommt da schon einiges zusammen) jeweils mit kleinen Änderungen (andere Auswahl), dann bin ich dazu übergegangen, nach den ausgewählten Optionen im fertigen Text zu suchen und dann das 'selected="selected"' einzufügen, hat das ganze um sicherlich mehr als das 10fache beschleunigt.) Manchmal muss man ein wenig rumprobieren :) .

Das mit dem Global war wohl etwas kurz angebunden. Was ich damit sagen wollte ist, dass sich die Abfrage in einem Globalen Bereich befindet genau wie die Variable auch. Wäre das ganze in einer Funktion oder sogar in einer Klasse sähe das ganze schon ganz anders aus.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Egli
Mitglied
Beiträge: 28
Registriert: 16.09.2006 21:22
Wohnort: Zullwil (CH)
Kontaktdaten:

Beitrag von Egli »

Ich weiss ich grabe hier ein Urgestein aus, aber ich will hier nur meinen Dank ausprechen.
Der Code war genau der, den ich gesucht habe, ich verneige mich vor euch.
Grüsse Martin
http://www.fischerforum.ch
Es ist mir egal wie Dein Vater heisst, solange ich hier angle geht niemand übers Wasser.
Antworten

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