Beiträge: 317
Themen: 20
Registriert seit: 10.10.2011
MyBB-Version: 1.6.9
(25.06.2013, 17:05)StefanT schrieb: Die views sind nur eine Zahl, damit kannst du weder auf den User noch das Datum feststellen.
Klar geht das. Allerdings kann ich persönlich solche Abfragen nicht erstellen. Man muss dafür die Themen des Users auslesen und dann von diesen Themen die Hits ermitteln. Und das ganze dann noch mal mit den Themen des Users der letzten 24 Std.
Dann hat man die Userbezogenen Themen-Views. Doch wie gesagt: übersteigt leider meine Kenntnisse. Deswegen brauche ich jemanden der das schreiben kann.
Beiträge: 2.041
Themen: 10
Registriert seit: 28.06.2007
MyBB-Version: 1.8.x
27.06.2013, 13:01
(Dieser Beitrag wurde zuletzt bearbeitet: 27.06.2013, 13:02 von doylecc.)
Also, wenn ich das richtig verstanden habe, möchtest du die Hits, die alle Threads bekommen haben, die der User bisher erstellt hat und dazu noch ausschließlich die Hits der Threads, die der User in den letzten 24 Stunden erstellt hat?
Falls ja, wäre hier ein Beispiel, wie du es machen könntest:
PHP-Code:
$uid = (int)$mybb->user['uid'];
$today = TIME_NOW - 86400;
$query_user = $db->simple_select("threads", "SUM(views) AS usergesamt", "uid = '{$uid}'");
$threadviews_user = $db->fetch_field($query_user, "usergesamt");
$query_usertoday = $db->simple_select("threads", "SUM(views) AS usertoday", "uid = '{$uid}' AND dateline >= '{$today}'");
$threadviews_usertoday = $db->fetch_field($query_usertoday, "usertoday");
$threadview_user liefert die Views für alle Threads des aktuellen Users.
$threadview_usertoday liefert nur die Views für die Threads, die der User in den letzten 24 Stunden eröffnet hat.
Beiträge: 317
Themen: 20
Registriert seit: 10.10.2011
MyBB-Version: 1.6.9
Super!
Hatte leider erst jetzt Zeit, das einzubauen. Funktioniert wie gewünscht. Hab nur das Zeitfenster auf 7 Tage erweitert.
Vielen lieben Dank waldo.
Hier nochmal die ganze php, falls jemand ähnliches sucht:
PHP-Code:
<?php
define("KILL_GLOBALS", 1);
define("IN_MYBB", 1);
require_once("global.php");
add_breadcrumb('Thread Views');
$query = $db->simple_select("threads", "SUM(views) AS gesamt");
$threadviews = $db->fetch_field($query, "gesamt");
$uid = (int)$mybb->user['uid'];
$today = TIME_NOW - 604800;
$query_user = $db->simple_select("threads", "SUM(views) AS usergesamt", "uid = '{$uid}'");
$threadviews_user = $db->fetch_field($query_user, "usergesamt");
$query_usertoday = $db->simple_select("threads", "SUM(views) AS usertoday", "uid = '{$uid}' AND dateline >= '{$today}'");
$threadviews_usertoday = $db->fetch_field($query_usertoday, "usertoday");
$html ='<html>
<head>
<title>'.$settings['bbname'].' - Thread Views</title>
'.$headerinclude.'
</head>
<body>
'.$header.'
<table border="0" cellspacing="'.$theme['borderwidth'].'" cellpadding="'.$theme['tablespace'].'" class="tborder">
<tr>
<td class="thead"><strong>Thread Views</strong></td>
</tr>
<tr>
<td class="trow1">
Themen-Views Insgesamt: '.$threadviews.'<br />
Eigene Themen-Views (Startthemen): '.$threadviews_user.'<br />
Eigene Themen-Views von Themen der letzten 7 Tage: '.$threadviews_usertoday.'<br />
(Diese Zahl bezieht sich nur auf Themen, die in den vergangenen<br />
7 Tagen gepostet worden sind. Bei 0 Aktivität auch 0 Views!)
</td>
</tr>
</table>
'.$footer.'
</body>
</html>';
output_page($html);
?>