[gelöst] Portal - Fehlermeldung
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.
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.
Sehr schön,
Suche in Deiner jetzigen portal.php
und ersetze ihn gegen:
Suche in Deiner jetzigen portal.php
Code: Alles auswählen
$sql = "SELECT post_id FROM " . POSTS_TABLE;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain matched posts list', '', __LINE__, __FILE__, $sql);
}Code: Alles auswählen
$sql = "SELECT post_id FROM " . POSTS_TABLE . " LIMIT 100";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain matched posts list', '', __LINE__, __FILE__, $sql);
}Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Ich schmeiß' alles hin und...
... lasse es liegen
Ähh.. Miriam?
Die "letzten Beiträge" sind aber nicht die letzten Beiträge...
Wie kommt das?
Siehst du hier
Die "letzten Beiträge" sind aber nicht die letzten Beiträge...
Wie kommt das?
Siehst du hier
Wen wunderts? LIMIT setzen ohne ORDER
- das ist dann halt wie Lotto
Versuch(t)s mal so
wobei das mit der 100 als LIMIT ja auch für die Wiesen ist, falls die letzten hundert Posts
im schlimmsten Fall mal in nem einzigen Laberthread stehn und so gesehn..
- das ist dann halt wie Lotto
Versuch(t)s mal so
Code: Alles auswählen
$sql = "SELECT post_id FROM " . POSTS_TABLE . "
ORDER BY post_time DESC LIMIT 0,100";im schlimmsten Fall mal in nem einzigen Laberthread stehn und so gesehn..
Code: Alles auswählen
$sql = "SELECT DISTINCT(topic_id), post_id FROM " . POSTS_TABLE . "
ORDER BY post_time DESC LIMIT 0,$limit";Was soll dieser Quatsch überhaupt. Um die letzten Posts anzuzeigen braucht man nur zwei Abfragen.. einmal welche Foren, darf der User nicht sehen und dann dann ruft man die letzten Beiträge ab.
Das ist jetzt keinesfalls die Lösung, aber der ungefähre Ansatz zum Verständnis:
Gruß
Das ist jetzt keinesfalls die Lösung, aber der ungefähre Ansatz zum Verständnis:
Code: Alles auswählen
// read topics
$limit = 25; // so viele sollen angezeigt werden
$auth_sql = ''; // hier müssen die foren ids rein, in der der User Zugang hat.. z.B. AND f.forum_id NOT IN(' . implode(', ', $exclude_forums) . ')' es geht aber auch f.forum_id <> $exclude_forum_id, wenn es nur eins ist.
$sql = 'SELECT t.*
FROM ' . TOPICS_TABLE . ' t, ' . FORUMS_TABLE . ' f
WHERE f.forum_id = t.forum_id
AND ' . $auth_sql . '
ORDER BY t.topic_last_time DESC
LIMIT ' . $limit; meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
So, ihr Feintuner,
die Problem-SQL Abfrage, die das Fass zum Überlaufen gebracht hat, wurde also erst einmal lokalisiert.
Also ist hier wohl noch eine kleine WHERE-Klausel fällig. *gell*
Aber ich denke mal, dass es reichen sollte, anstatt
easys ersten Vorschlag einzusetzen. Also:
Vllt noch das LIMIT etwas heraufsetzen und gut is'.
Jemand weitere Vorschläge?
die Problem-SQL Abfrage, die das Fass zum Überlaufen gebracht hat, wurde also erst einmal lokalisiert.
Und was passiert, wenn blöderweise die letzten $limit-Topics in einem Forum stehen, die der User nicht betreten oder sonst irgendwie schauen darf?easygo hat geschrieben:wobei das mit der 100 als LIMIT ja auch für die Wiesen ist, falls die letzten hundert Posts
im schlimmsten Fall mal in nem einzigen Laberthread stehn und so gesehn..
Code: Alles auswählen
$sql = "SELECT DISTINCT(topic_id), post_id FROM " . POSTS_TABLE . " ORDER BY post_time DESC LIMIT 0,$limit";
Also ist hier wohl noch eine kleine WHERE-Klausel fällig. *gell*
Aber ich denke mal, dass es reichen sollte, anstatt
Code: Alles auswählen
$sql = "SELECT post_id FROM " . POSTS_TABLE . " LIMIT 100;Code: Alles auswählen
$sql = "SELECT post_id FROM " . POSTS_TABLE . "
ORDER BY post_time DESC LIMIT 0,100";Jemand weitere Vorschläge?
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Ich schmeiß' alles hin und...
... lasse es liegen
Da nix anderes mehr von euch Spezialisten kommt, ergänze ich oben den Teil, gelle?Miriam hat geschrieben:So, ihr Feintuner,
die Problem-SQL Abfrage, die das Fass zum Überlaufen gebracht hat, wurde also erst einmal lokalisiert.
Vllt noch das LIMIT etwas heraufsetzen und gut is'.Code: Alles auswählen
$sql = "SELECT post_id FROM " . POSTS_TABLE . " ORDER BY post_time DESC LIMIT 0,100";
Jemand weitere Vorschläge?
Edit: Habs reingesetzt, getestet.... es klappt!
Danke euch!
Sowas tut in den Augen weh. Aber ich guck dann mal weg. Wird Zeit, dass den Portal Mod mal jemand überarbeitet 
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it