Seite 1 von 1

User Beiträge zählen

Verfasst: 10.10.2014 14:31
von Walter91
Ich versuche mich gerade daran die Beiträge eines einzelnen Users in eigener eingebundener Seite zu zählen.
Mit dem folgenden Code wird aber die Gesamtanzahl aller Beiträge angezeigt. Das geht.

Code: Alles auswählen

$sql = 'SELECT COUNT(*) AS count FROM ' . TEST_TABLE . '
            ORDER BY id';
    $result = $db->sql_query($sql);       
    $count = (int) $db->sql_fetchfield('count');
    $db->sql_freeresult($result); 
        $template->assign_vars(array(
            'USER_ID_COUNT' => $count,
        ));


Kann jemand helfen wie ich das ändern muss das nur ein ausgewählter User gezählt wird?
Danke.

Re: User Beiträge zählen

Verfasst: 10.10.2014 19:01
von tas2580

Code: Alles auswählen

$sql = 'SELECT COUNT(*) AS count FROM phpbb_posts WHERE poster_id = ' . (int) $user_id;
$result = $db->sql_query($sql);       
$count = (int) $db->sql_fetchfield('count'); 
$user_id muss die ID des Users sein. Wenn du die nicht kennst und nur den Benutzernamen hast musst du vorher mit einem Query aus der phpbb_users die ID auslesen.

Wenn du nur freigeschaltete Beiträge haben möchtest, mach:

Code: Alles auswählen

$sql = 'SELECT COUNT(*) AS count FROM phpbb_posts WHERE post_approved = 1 AND poster_id = ' . (int) $user_id;
Gruß Tobi

Re: User Beiträge zählen

Verfasst: 10.10.2014 19:51
von Walter91
Vielen Dank für deine Hilfe Tobi :grin:
Das hat mir auf die Sprünge geholfen. So lese ich jetzt die Anzahl der Einträge eines Users aus eigener Tabelle aus.
Der eintragende User wird bei mir in der Tabelle TEST / Spalte POSTER mit seiner user_id gespeichert.
Anzahl Einträge auslesen wird jetzt richtig angezeigt.

Code: Alles auswählen

$sql = 'SELECT COUNT(*) AS count FROM ' . TEST_TABLE . ' WHERE poster = ' . $user->data['user_id'];
    
    $result = $db->sql_query($sql);       
    $count = (int) $db->sql_fetchfield('count');
    $db->sql_freeresult($result); 
        $template->assign_vars(array(
            'USER_ID_COUNT' => $count,
        ));