ThWboard Support-Forum (Archiv)

Ort: / Boardübersicht / Code Hack Requests / Forumstatistiken


Seite 1 von 1

sungrass schrieb am 12.10.2003 um 16:47 Uhr

Hi!

Also, ich suche einen HAck, der mir auf der Startseite meiner HP die letzten Fornthemen anzeigt...
hab das schön öfters bei vielen HPs mit THWBOARD gesehen, aber wie macht man das?
ahb schon danach gesucht, aber nix gefunden...
und ich bräuchte noch nen hack, wo man die userstats ( useronline, registrierte mitglieder etc.) ebenfalls auf der startseite meiner HP sehen kann...
wäre nett wenn mir da jemand helfen könnte...
gruß sungrass

sungrass schrieb am 12.10.2003 um 17:09 Uhr

ich bräuchte also irgendwas, was mit einen teil der statistiken zusammenfasst und mir auf meiner startseite der HP wieder ausgibt...

Gamy schrieb am 12.10.2003 um 17:19 Uhr

Hallo,

das hier sollte dir helfen / die Lösung sein:

http://hacks.slware.com/tboard/showtopic.php?threadid=234&time=1064696197

Und für das nächste mal:

http://www.thwboard.de/forum/search.php

dann findeste das:
http://www.thwboard.de/forum/showtopic.php?threadid=2931&highlight=stats

MrNase schrieb am 12.10.2003 um 17:23 Uhr

Wenn die Datei auf der die Statistiken erscheinen sollen im gleichen Verzeichnis liegt wie der Rest ist das ganze kein Problem.

Dann füge in die Datei einfach folgendes ein:

include "./inc/header.inc.php";

function getusercount()
{
    global $pref;
    $r_user = thwb_query("SELECT count(userid) AS usercount FROM ".$pref."user");
    $user = mysql_fetch_array($r_user);
    
    return $user['usercount'];
}

function getactiveusers()
{                        
    global $pref;
    $r_user = thwb_query("SELECT count(userid) AS usercount FROM ".$pref."user WHERE userlastpost > " . (time() - 60 * 60 * 24 * 31));
    $user = mysql_fetch_array($r_user);
    
    return $user['usercount'];
}
$stats = "Das Forum hat <b>" . getusercount() . "</b> registrierte Benutzer, davon sind <b>" . getactiveusers() . "</b> aktiv.";

$r_post = thwb_query("SELECT count(postid) AS postcount FROM ".$pref."post");
$posts = mysql_result($r_post, 0);

$r_thread = thwb_query("SELECT count(threadid) AS threadcount FROM ".$pref."thread");
$threads = mysql_result($r_thread, 0);

$stats .= '<br><b>' . $threads .'</b> Threads | <b>' . $posts . '</b> Posts';

und du kannst mit "$stats" alle Statistiken anzeigen lassen.

Wenn die Datei nicht in dem gleichen Verzeichnis liegt wird es ein bissl schwieriger.

Dann erstelle einen neuen Ordner names "stats".
Dort kopierst du deine config.inc.php rein.
Dann erstellst du dort drin eine Datei namens "stats.inc.php".
Dort kommt rein:

<?php
include('./stats/config.inc.php');
function thwb_query($query)
{
    global $DEBUG, $g_user;
    global $config;
    global $all_t;
    $start = microtime();

    $result = mysql_query($query);

    $end = microtime();
    
    if( !$result )
    {
        print '<pre><b>ThWboard Error</b><br>MySQL: ' . mysql_error() . '
Query: ' . $query . '</pre>';
        exit;
    }
    if ( $g_user['userisadmin'] && $config['debugmode'] ) 
    {
        // Extended DEBUG Mody By Andy
        $start_t = explode(" ", $start);
        $end_t = explode(" ", $end);

        $start_t = $start_t[0] + $start_t[1];
        $end_t = $end_t[0] + $end_t[1];
        $full_t = $end_t - $start_t;
        $all_t = $all_t + $full_t;
        if( !$all_t )
        {
            $all_t = 0;
        }

        $DEBUG .= "</center><pre><font color=\"black\">$query\n\n<b>Zeit vor der Abfrage: $start_t\n Zeit nach der Abfrage: $end_t\n Abfragezeit: $full_t\n</b>";
        $DEBUG .= "<pre><b>Bisherige gesamte Abfragedauer: <font color=\"red\">$all_t</font>, in Sekunden: <font color=\"red\">";
        $DEBUG .= substr($all_t, 0, 4);
        $DEBUG .= "</b></PRE><BR><BR>";
        $sql_time += ($end_t - $start_t);
    }

    return $result;
}
function getusercount()
{
    global $pref;
    $r_user = thwb_query("SELECT count(userid) AS usercount FROM ".$pref."user");
    $user = mysql_fetch_array($r_user);
    
    return $user['usercount'];
}

function getactiveusers()
{                        
    global $pref;
    $r_user = thwb_query("SELECT count(userid) AS usercount FROM ".$pref."user WHERE userlastpost > " . (time() - 60 * 60 * 24 * 31));
    $user = mysql_fetch_array($r_user);
    
    return $user['usercount'];
}
$stats = "Das Forum hat <b>" . getusercount() . "</b> registrierte Benutzer, davon sind <b>" . getactiveusers() . "</b> aktiv.";

$r_post = thwb_query("SELECT count(postid) AS postcount FROM ".$pref."post");
$posts = mysql_result($r_post, 0);

$r_thread = thwb_query("SELECT count(threadid) AS threadcount FROM ".$pref."thread");
$threads = mysql_result($r_thread, 0);

$stats .= '<br><b>' . $threads .'</b> Threads | <b>' . $posts . '</b> Posts';

Jetzt kannst du wieder die Variable "$stats" in deine index1.php einbauen.
Vorher solltest du aber oben in der index1.php direkt nach dem "<?php" die Datei "stats.inc.php" inkludieren mit:

include "./stats/stats.inc.php";

fertig :)

sungrass schrieb am 12.10.2003 um 18:36 Uhr

thx@ MrNase, hast mir wie immer prima geholfen!!!
was mir jetzt halt nur noch fehler, die die "10 Letzten Post" aus dem statistik center hätte ich gern rechts oben auf [url]http://www.sungrass.de/index1.php[url]
wenn mir da noch jemand helfen könnte, wär ich vollends glücklich...

theDon schrieb am 12.10.2003 um 19:18 Uhr

naja, das design sieht jedenfalls mit mozilla recht verhunzt aus.

MrNase schrieb am 12.10.2003 um 19:58 Uhr

ach?! War das schon immer so, ich dachte ich hätte es beim einbau verhunzt :D

Stimmt, ich hab beim ersten mal den IE genommen (der startet immer >:() und dann den Mozilla. Da solltest du aber noch ein bissel dran arbeiten. So kann man es sich net angucken :D

sungrass schrieb am 12.10.2003 um 22:05 Uhr

ich bin ja noch dran, aber hab kein mozilla... weiß also net wies aussieht...

MrNase schrieb am 12.10.2003 um 23:43 Uhr

Dann lad ihn dir runter, es lohnt sich :)

Sogar auf deutsch ;)

http://www.mozilla.kairo.at/download.php

gfc schrieb am 13.10.2003 um 00:18 Uhr

sungrass postete
ich bin ja noch dran, aber hab kein mozilla... weiß also net wies aussieht...

*kopfschüttel* jemand der ne Webseite betreut, muss doch schauen, dass wenigsten die grossen 3 Browser Mozilla, IE und Opera das Ding richtig anzeigen! ev. noch die khtml-Engine (also Safari oder Konqueror) nachprüfen!

alles andere is doch n schlechter scherz..

MrNase schrieb am 13.10.2003 um 00:53 Uhr

Man sollte nicht vorschnell urteilen. Schließlich sitzt er ja noch an der Seite dran. Und dank theDon und mir wird er es jetzt auch mit Mozilla kompatibel machen :)

sungrass schrieb am 14.10.2003 um 20:59 Uhr

thx@MrNase

ich hab nunmal gerade erst mit html und php angefangen, ich weiß das ihr allesamt viel mehr anhung habt als ich aber ich versuche mir das wissen ja unter anderem hier anzueignen...

Seite 1 von 1