Pagination im phpBB?
Also ich habe gerade rausgefunden das GROUP BY ...whatever fehlt!
Wenn ich das Query so abänder:
Bin für jede weitere hilfe dankbar!!
Grüße Jason
Wenn ich das Query so abänder:
ist zwar die fehlermeldung weg aber jetzt wird nur noch 1 User in der Buddyliste angezeigt obwohl 12 da sind$sql = 'SELECT b.buddy_name, b.buddy_id, b.user_id, b.added,
u.user_msnm, u.user_yim, u.user_aim, u.user_email, u.user_viewemail, u.user_icq, u.user_website,
IF(s.session_user_id <> "","true","false") AS is_online, count(*) AS total
FROM ' . BUDDYLIST_TABLE . ' b, ' . USERS_TABLE . ' u
LEFT OUTER JOIN '.SESSIONS_TABLE.' s ON b.buddy_id = s.session_user_id AND s.session_time >= '.( time() - 300 ) . '
WHERE b.buddy_id = u.user_id AND b.user_id = ' . $user_id . '
GROUP BY b.buddy_name
ORDER BY b.added
LIMIT ' . $start . ', ' . $board_config['topics_per_page'];

Bin für jede weitere hilfe dankbar!!
Grüße Jason
- itst
- Ehrenadmin
- Beiträge: 7418
- Registriert: 21.08.2001 02:00
- Wohnort: Büttelborn bei Darmstadt
- Kontaktdaten:
Schmeiss den ganzen Count- und Group-Quatsch raus und benutz die Funktion mysql_num_rows().
Sascha A. Carlin,
phpBB.de Ehrenadministrator
phpBB.de Ehrenadministrator

Ok ich habs jetzt soweit hinbekommen das es ohne fehlermeldung läuft aber es werden jetzt immer die ersten 15 Benutzer angezeigt und untendrunter steht nur "Seite 1 von 1" und es sind keine Links zu den weiteren seiten vorhanden obwohl über 50 Benutzer in der Buddyliste sind ( Eingestellt habe ich im ACP 15 Themen pro Seite ) Nu versteh ich net das die Links zu den Seiten mit den restlichen Benutzern net angezeigt werden
Hier nochmal das aktuelle Script + Template:
php: buddylist.php
template: buddylist.tpl
Bin für weitere tipps echt dankbar
Grüße Jason

Hier nochmal das aktuelle Script + Template:
php: buddylist.php
template: buddylist.tpl
Bin für weitere tipps echt dankbar

Grüße Jason
Jo nur wie soll die abfrage dann aussehen?Es müssen dann ja wie beim normalen Query nur zu dem jeweiligem User (Dem die Buddylist gehört) gehörenden Buddys ausgelesen werden!Ich habs mal so probiert:
Scheint aber net zu funzen da ich jetzt wieder diese fehlermeldung bekomme:
Code: Alles auswählen
$sql = 'SELECT b.buddy_name, b.buddy_id, b.user_id, b.added, count(*) AS total
FROM ' . BUDDYLIST_TABLE . ' b, ' . USERS_TABLE . ' u
WHERE b.buddy_id = u.user_id AND b.user_id = ' . $user_id . '
ORDER BY b.added';
if ( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Error getting buddy listing for pagination', '', __LINE__, __FILE__, $sql);
}
$total_buddys = $db->sql_numrows($result);
Grüße JasonError getting buddy listing for pagination
DEBUG MODE
SQL Error : 1140 Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause
SELECT b.buddy_name, b.buddy_id, b.user_id, b.added, u.user_msnm, u.user_yim, u.user_aim, u.user_email, u.user_viewemail, u.user_icq, u.user_website, count(*) AS total FROM phpbb_buddylist b, phpbb_users u WHERE b.buddy_id = u.user_id AND b.user_id = 2 ORDER BY b.added
Line : 222
File : /is/htdocs/board/buddylist.php