Anzahl Downloads per User anzeigen

Support about Download MOD for phpBB 2
Antworten
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Anzahl Downloads per User anzeigen

Beitrag von Holger »

Hi,

könnte man in der Memberlist oder in viewtopic die Anzahl der Downloads eines Users anzeigen?
Also, wieviele Downloads ein User gemacht hat?
Vielleicht nur für Admins und Mods sichbar.

Gruss
Holger
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Das ginge schon, man müsste dazu aber die Statistikdaten des MODs auslesen und das kann, wenn es nicht anders geht, eine Abfrage je User bedeuten...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Tja, wäre in der Memberlist ja nicht SOOOO schlimm ...
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ich bastel da mal was...
Nachher...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

:anbet
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Also hier mal für die Mitgliederliste:

Code: Alles auswählen

#
#-----[ OPEN ]-----
#
memberlist.php

#
#-----[ FIND ]-----
#
make_jumpbox('viewforum.'.$phpEx);

#
#-----[ AFTER, ADD ]-----
#
$sql = "SELECT count(id) as dl_counts, user_id FROM " . DL_STATS_TABLE . "
	WHERE direction = 0
		AND user_id = " . $user_id
	GROUP BY user_id";
if(!$result = $db->sql_query($sql))
{
	message_die(GENERAL_ERROR, 'Could not query latest ten downloads', '', __LINE__, __FILE__, $sql);
}

$user_downloads = array();
while ($row = $db->sql_fetchrow($result))
{	
	$user_downloads[$row['user_id']] = $row['dl_counts'];
}
$db->sql_fetchrow($result);

#
#-----[ FIND ]-----
#
	'L_PM' => $lang['Private_Message'], 

#
#-----[ AFTER, ADD ]-----
#
	'L_DOWNLOADS' => $lang['Downloads'],

#
#-----[ FIND ]-----
#
			'YIM' => $yim,

#
#-----[ AFTER, ADD ]-----
#
			'DOWNLOADS' => $user_downloads[$user_id],

#
#-----[ OPEN ]-----
#
templates/subSilver/memberlist_body.tpl

#
#-----[ FIND]-----
#
	  <th class="thTop" nowrap="nowrap">{L_POSTS}</th>

#
#-----[ AFTER, ADD]-----
#
	  <th class="thTop" nowrap="nowrap">{L_DOWNLOADS}</th>

#
#-----[ FIND ]-----
#
	  <td class="{memberrow.ROW_CLASS}" align="center" valign="middle"><span class="gen">{memberrow.POSTS}</span></td>

#
#-----[ AFTER, ADD]-----
#
	  <td class="{memberrow.ROW_CLASS}" align="center" valign="middle"><span class="gen">{memberrow.DOWNLOADS}</span></td>

#
#-----[ FIND ]-----
#
	  <td class="catBottom" colspan="8" height="28">&nbsp;</td>

#
#-----[ IN-LINE FIND ]-----
#
colspan="8"

#
#-----[ IN-LINE REPLACE WITH ]-----
#
colspan="9"


#
#-----[ SAVE/CLOSE ALL FILES ]-----
#
# EoM
Für die Gruppenansicht mehr oder weniger analog, hier ist aber $user_id eine andere Variable.

Funktioniert aber auch nur dann, wenn die erweiterten Statistiken in den einzelnen Kategorien eingeschaltet sind. Und auch nur bis zur eingestellten Pruning-Anzahl.
Der MOD hält an sonst keiner anderen Stelle die Downloads je User fest!
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
schneider
Beiträge: 3
Registriert: Di 27.Nov, 2007 18:18

Beitrag von schneider »

Danke erstmal, dass war genau das, was ich gesucht habe Ich hab den Snippet bei mir eingebaut, jedoch bekomme ich nur folgende Fehlermeldung:
Parse error: syntax error, unexpected T_STRING in /www/htdocs/w005fed2/memberlist.php on line 107
Kann mir jemand bitte helfen, den Fehler zu finden? Danke! ¢¦
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Wenn Du die betreffende Zeile inkl. einiger Zeilen davor postest, vielleicht.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
schneider
Beiträge: 3
Registriert: Di 27.Nov, 2007 18:18

Beitrag von schneider »

Danke für die schnelle Antwort!

Hier die Zeilen 96 bis 118:

Code: Alles auswählen

$page_title = $lang['Memberlist'];
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

$template->set_filenames(array(
        'body' => 'memberlist_body.tpl')
);
make_jumpbox('viewforum.'.$phpEx);

$sql = "SELECT count(id) as dl_counts, user_id FROM " . DL_STATS_TABLE . "
	WHERE direction = 0
		AND user_id = " . $user_id
	GROUP BY user_id";
if(!$result = $db->sql_query($sql))
{
	message_die(GENERAL_ERROR, 'Could not query latest ten downloads', '', __LINE__, __FILE__, $sql);
}

$user_downloads = array();
while ($row = $db->sql_fetchrow($result))
{	
	$user_downloads[$row['user_id']] = $row['dl_counts'];
}
$db->sql_fetchrow($result);
Die Zeile 107 ist die, die mit GROUP anfängt. Danke!

Grüße
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Bei diesem Ausschlitt fehlt in der Zeile 11 noch ." am Ende.
Also die Zeile

Code: Alles auswählen

AND user_id = " . $user_id
muss so lauten:

Code: Alles auswählen

AND user_id = " . $user_id . "
So gehts aber auch:

Code: Alles auswählen

AND user_id = $user_id
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
schneider
Beiträge: 3
Registriert: Di 27.Nov, 2007 18:18

Beitrag von schneider »

Danke schon mal für die Lösung, nun hab ich aber ein weiteres Problem. Folgende Fehlermeldung kommt nun:
Could not query latest ten downloads

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GROUP BY user_id' at line 4

SELECT count(id) as dl_counts, user_id FROM phpbb_dl_stats WHERE direction = 0 AND user_id = GROUP BY user_id

Line : 110
File : memberlist.php
Was habe ich diesmal falsch gemacht? ^1
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Du musst $user_id eintragen.
In der Memberlist wird das bereits getan, sollte also funktionieren.
Solange der Code nach

Code: Alles auswählen

$user_id = $row['user_id']
eingetragen wird.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Antworten