Seite 3 von 3

Verfasst: 12.01.2005 19:06
von itst
Jo, damit wäre der Übeltäter ja identifiziert ;)

Versuch mal, die POSTS-Tabelle aus der Query rauszubekommen. Eindampfen ist das Stichwort ;)

Verfasst: 18.01.2005 00:43
von DarkHappyAffe
Ich hab die langsame Anfrage jetzt komplett rausgenommen und vollständig in die große Forenabfrage bei Zeile 160 integriert und die Ladezeiten von knapp 30sek auf unter 0.5sek gedrückt.
Nu hab ich wieder mehr Speed und trotzdem noch die Titel der aktuellsten Topics auf der Startseite.

Wenn ihr den Code dafür wollt, schickt mir ne Nachricht! :)

Verfasst: 10.02.2005 19:58
von DarkHappyAffe
Auf Grund der großen Nachfragen poste ich meine Veränderungen mal eben... :)
Das SQL-Statement bei Zeile 160 in dem default-Block des switches muss so abgeändert werden:

Code: Alles auswählen

         $sql = "SELECT f.*, p.post_time, p.topic_id, p.post_username, t.topic_title, u.username, u.user_id
            FROM (( " . FORUMS_TABLE . " f
            LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )
            LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id ),
               " . TOPICS_TABLE . " t
            WHERE t.topic_id = p.topic_id
               AND t.topic_last_post_id = f.forum_last_post_id
            ORDER BY f.cat_id, f.forum_order";
Und das muss da stehen, wo vorher das lahme SQL-Statement stand. Dann wird erst der Topic-Titel, darunter der Poster und darunter dann die Zeit angezeigt:

Code: Alles auswählen

                        $ltid = $forum_data[$j]['topic_id'];
                        $lttitle = $forum_data[$j]['topic_title'];
                        // append first 25 characters of topic title to last topic data
                        if (strlen($lttitle) > 22)
                        {
                           $last_post = '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . substr($lttitle, 0, 20) . '...</a><br />';
                        }
                        else
                        {
                           $last_post = '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . substr($lttitle, 0, 22) . '</a><br />';
                        }
                        $last_post_time = create_date($board_config['default_dateformat'], $forum_data[$j]['post_time'], $board_config['board_timezone']);

                        $last_post .= $last_post_time . '<br />';
Viel Spaß damit. Hoffe, es hilft. :)