Seite 1 von 2

Probleme mit dem Daily Statistic Module des Statistic Mods

Verfasst: 04.01.2008 15:44
von JulianS
Ja es geht weiter , ich muss sagen, ich hab eine halbe Stunde damit verbracht alles mögliche zu suchen und dennoch hab ich nichts gefunden, was mir bei dem neuen Fehler weiterhelfen kann.

Also ich habe natürlich nach dem endlich erfolgreichen Einbau ein Modul heruntergeladen und sofort eingebaut. --> Daily Statistics ( Tages statistiken )
Problem SQL Error

DEBUG MODE

SQL Error : 1146 Table 'juju23_04.forum_stats_rec' doesn't exist

SELECT * FROM forum_stats_rec WHERE rec_date > 1199401200 AND rec_date < 1199487599

Line : 140
File : module.php



Gesagt getan, hab in die Datei auf Line 140 geschaut und eben auch gemerkt, dass die Tabelle wirklich nich erstellt wurde, nur wo krieg ich die her, ich meine, kann mir wer helfen, die zu generieren ( Nein beim Datenbankupdate für den Statistik Mod war das nich bei )

Edit: Das Monthstatistic Modul läuft komischerweise Fehlerfrei

Verfasst: 04.01.2008 16:48
von gsxfan
Poste doch mal einen Link zu dem Mod, damit man sich die Einbauanleitung anschauen kann.

Verfasst: 04.01.2008 17:45
von JulianS
Nja das is ein Modul, kein Mod, aber warte

Code: Alles auswählen

<?php
/***************************************************************************
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 ***************************************************************************/

//
// Daily Statistics (New: posts, topics and users)
//

// Number of days to display.
$nday = 30;

// New posts by days.
$sql = 'SELECT DAYOFMONTH(FROM_UNIXTIME(post_time)) as day, MONTH(FROM_UNIXTIME(post_time)) as mon,  YEAR(FROM_UNIXTIME(post_time)) as year,COUNT(*) AS ant
FROM ' . POSTS_TABLE . '
GROUP BY year,mon,day
ORDER BY year DESC, mon DESC, day DESC
LIMIT 0,'. $nday;

if ( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Couldn\'t retrieve posts data', '', __LINE__, __FILE__, $sql);
}

$posts_count = $db->sql_numrows($result);
$posts_data = $db->sql_fetchrowset($result);

// New topics by days.
$sql = 'SELECT DAYOFMONTH(FROM_UNIXTIME(topic_time)) as day, MONTH(FROM_UNIXTIME(topic_time)) as mon,  YEAR(FROM_UNIXTIME(topic_time)) as year,COUNT(*) AS ant
FROM ' . TOPICS_TABLE . '
GROUP BY year,mon,day
ORDER BY year DESC, mon DESC, day DESC
LIMIT 0,'. $nday;

if ( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Couldn\'t retrieve topics data', '', __LINE__, __FILE__, $sql);
}

$topics_count = $db->sql_numrows($result);
$topics_data = $db->sql_fetchrowset($result);

// New users by days.
$sql = 'SELECT DAYOFMONTH(FROM_UNIXTIME(user_regdate)) as day, MONTH(FROM_UNIXTIME(user_regdate)) as mon,  YEAR(FROM_UNIXTIME(user_regdate)) as year,COUNT(*) AS ant
FROM ' . USERS_TABLE . '
GROUP BY year,mon,day
ORDER BY year DESC, mon DESC, day DESC
LIMIT 0,'. $nday;

if ( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Couldn\'t retrieve users data', '', __LINE__, __FILE__, $sql);
}

$users_count = $db->sql_numrows($result);
$users_data = $db->sql_fetchrowset($result);

$flag = 1;
$user_con = 0;
$user_sum = 0;
$post_con = 0;
$post_sum = 0;
$topic_con = 0;
$topic_sum = 0;
$top_con = 0;
$top_sum = 0;

for ($i = 0; $i < $nday and $flag; $i=$i+1)
{
	$class = ( !($i % 2) ) ? 'row2' : 'row1';
	$date = (mktime (0,0,0,date("m"),date("d")-$i,date("Y")));
    $dated = date("d",$date);
	$datem = date("m",$date);
	$datey = date("Y",$date);
    // Top date.

	$f = 0;

	// Posts.
	for ($j = 0; $j < $nday; $j=$j+1)
	{
		if ($posts_data[$j]['day'] == $dated && $posts_data[$j]['mon'] == $datem && $posts_data[$j]['year'] == $datey)
		{
			$post = $posts_data[$j]['ant'];
            $post_sum += $posts_data[$j]['ant'];
			$f = 1;
	        $post_con++;
		}
	}
	if ($f)
		$f = 0;
	else
		$post = '-';

	// Topics.
	for ($j = 0; $j < $nday; $j=$j+1)
	{
		if ($topics_data[$j]['day'] == $dated && $topics_data[$j]['mon'] == $datem && $topics_data[$j]['year'] == $datey)
		{
			$topic = $topics_data[$j]['ant'];
            $topic_sum += $topics_data[$j]['ant'];
			$f = 1;
	        $topic_con++;
		}
	}
	if ($f)
		$f = 0;
	else
		$topic = '-';

	// Users.
	for ($j = 0; $j < $nday; $j=$j+1)
	{
		if ($users_data[$j]['day'] == $dated && $users_data[$j]['mon'] == $datem && $users_data[$j]['year'] == $datey)
		{
			$user = $users_data[$j]['ant'];
            $user_sum += $users_data[$j]['ant'];
			$f = 1;
	        $user_con++;
		}
	}
	if ($f)
		$f = 0;
	else
		$user = '-';

	// Top.
	 $sql = "SELECT *
	FROM forum_stats_rec
	WHERE rec_date > ". mktime(0,0,0,date("m"),date("d")-$i,date("y")) ."
    AND rec_date < ". mktime(23,59,59,date("m"),date("d")-$i,date("y"));

	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not TheWiz Total user.', '', __LINE__, __FILE__, $sql);
	}
	 if ($rowiz = $db->sql_fetchrow($result))
	 {
		$top = $rowiz['rec_value'];
        $top_sum += $rowiz['rec_value'];
	    $top_con++;
        $toptime = date("H:i:s",$rowiz['rec_date']);
	 }
	 else
	 {
		$top = '-';
        $toptime = '-';
	 }


	$date = date("d/m/Y", (mktime (0,0,0,date("m"),date("d")-$i,date("Y"))));
	$template->assign_block_vars('dnews', array(
		'CLASS' => $class,
		'DATE' => $date,
		'USER' => $user,
		'TOPIC' => $topic,
		'POST' => $post,
		'TOP' => $top,
        'TOPTIME' => $toptime,
        )
	);
}

	$template->assign_block_vars('dnews', array(
		'CLASS' => 'row2',
		'DATE' => $lang['Sum_Table'],
        'USER' => $user_sum,
        'TOPIC' => $topic_sum,
		'POST' => $post_sum,
        'TOP' => "-",
        'TOPTIME' => "-"));

	$template->assign_block_vars('dnews', array(
		'CLASS' => 'row2',
		'DATE' => $lang['Avg_Table'],
        'USER' => round($user_sum/$user_con,2),
        'TOPIC' => round($topic_sum/$topic_con,2),
		'POST' => round($post_sum/$post_con,2),
        'TOP' => round($top_sum/$top_con,2),
        'TOPTIME' => "-"));

$template->assign_vars(array(
	'L_DATE' => $lang['Date'],
	'L_USERS' => $lang['New_users'],
	'L_TOPIC' => $lang['New_topics'],
	'L_REPLIE' => $lang['New_replies'],
    'L_TOP' => "Top OnLine",
    'L_TOPTIME' => "Top OnLine Time",
	'MODULE_NAME' => $lang['module_name'])
);

?>
So sieht das ganze aus, liegt aber an der Datenbank, da findet er die Tabelle nicht.

Verfasst: 04.01.2008 18:00
von gsxfan
Hallo.

Bitte auch die Anweisungen
KB:datei
befolgen und hier nicht den kompletten Code einer PHP-Datei präsentieren. Das zieht einen Thread nur unnötig in die Länge.


Also das kann nicht alles sein.
Ein Mod (Und egal wie Du das nun bezeichnest) besteht nicht nur aus einer php-Datei. Dazu gibt es sicher auch eine Einbauanleitung, in der das Erstellen der für die Funktion erforderlichen Tabellen in der Datenbank erklärt wird.
Und wie Du schon richtigerweise erkannt hast, fehlt genau die Tabelle, die für die Funktion des Mods erforderlich ist.
Und dazu gehören auch noch Anweisungen, wo die hier ermittelten Statistikwerte überhaupt angezeigt werden.

Da musst Du wohl noch ein bisschen graben gehen und den kompletten Mod auftreiben.

Uwe

Verfasst: 04.01.2008 22:36
von JulianS
Es ist auch kein Mod ;) sondern ein Modul, also ein Add-on zum Statistikmod, und das Modul besteht aus der languageDatei , aus ner tpl damit das Modul auch optisch passt und aus der php Datei oben.

Mein Problem is schlicht, dass er die Tabelle inner Datenbank nich findet, weil sie nich angelegt ist, deswegen wollte ich hier Hilfe, damit mir wer sagen kann was ich da an Daten in die Tabelle eingeben soll. Ich bin leider eher Anfänger in MySQL.

Verfasst: 04.01.2008 23:07
von gsxfan
Ok, dann ist es halt ein Modul zu einem Mod. Auch gut. ;-)
Also gehören schon mal 3 Dateien zu diesem "Modul". Und dazu gibt es keine Einbauanleitung?
Nur alleine mit dem Namen der fehlenden Tabelle können wir nicht viel anfangen. Daraus geht nicht hervor, welche Felder und welche Art von Feldern sich darin zu befinden haben.
Schau Dir doch noch einmal die Einbauanleitung des Mods von diesem Modul an. Es könnte durchaus sein, dass diese fehlende Tabelle dabei erstellt wird und Du das übersehen hast.

Verfasst: 04.01.2008 23:44
von JulianS
Nope die Module werden einfach in ein Verzeichnis des Forums kopiert und übers ACP installiert. Ich bin ja nich blöd und guck nich nach ehe ich hier poste ;) Ich dachte aus obigem Quellcode geht hervor, was man für ne Tabelle erstellen muss, aber nja ich bin ein MySQL Noob :oops:
Leider is auch die Homepage des Entwicklers off, da gab es afaik sogar eine aleitung wie mans repariert, zumindest habsch das in google gefunden. Aber ohne dessen Page, muss ich wohl auf euch hier zurückgreifen. Übersehen hab ich nichts , wie gesagt, er findet nur die Tabelle nicht und ich müsste die iwie so anlegen, dass es geht und eben das is mein Problem, deswegen such ich euren Rat ;)
Wenn obige Datei nicht hilft,nicht so schlimm, dann mach ichs eben ohne das Modul, aber schöner wärs mit ;)

Verfasst: 05.01.2008 10:13
von gsxfan
Ist das der Statistikmod vpn Acyd Burn in welcher Version und was genau haste bei Google gefunden?

Verfasst: 05.01.2008 11:16
von JulianS
Genau Statistics Mod Version 2.1.5 ( alle anderen Module gehen aber ohne Fehler, liegt nur an dem Tagesstatistikmodul )

Bei Google hab ich nur nen Link aus nem anderen phpbbSupportforum gefunden, wo das gleiche Problem behandelt wurde, allerdings wurde das Proble mit nem Link auf die HomePage der Macher gelöst, nur die is down, demnach kann ich weiter Rätsel raten

Verfasst: 05.01.2008 16:30
von gsxfan
Das dachte ich mir schon.
Du weisst, dass die Version 2.1.5 steinalt ist, so etwa aus 2002 oder 2003? Und das es HIER eine viel neuere Version gibt?