ten kod nie do końca wyświetla to co bym chciał, bo z tych danych chcę zrobić tabelkę.
I chcę żeby rok, miesiąc i ilość były wyświetlane oddzielnie.
Hmm, a wiesz jak inaczej to wyświetlić?
Podobny kod znalazłem w phpbb, ale nie wiem jak go przerobić by działał mi.
{
}
$statistics_module = true;
/***************************************************************************
* module.php
* -------------------
* begin : Tuesday, Sep 03, 2002
* copyright : (C) 2002 Meik Sievertsen
* email : acyd.burn@gmx.de
*
***************************************************************************/
/***************************************************************************
*
* 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.
*
***************************************************************************/
//
// Modules should be considered to already have access to the following variables which
// the parser will give out to it:
// $return_limit - Control Panel defined number of items to display
// $module_info['name'] - The module name specified in the info.txt file
// $module_info['email'] - The author email
// $module_info['author'] - The author name
// $module_info['version'] - The version
// $module_info['url'] - The author url
//
// To make the module more compatible, please do not use any functions here
// and put all your code inline to keep from redeclaring functions on accident.
//
//
// All your code
//
// New users by month
//
if (!$statistics->result_cache_used)
{
// Init Cache -- tells the Stats Mod that we want to use the result cache
$result_cache->init_result_cache();
$sql = "SELECT YEAR(FROM_UNIXTIME(user_regdate)) as aar, MONTH(FROM_UNIXTIME(user_regdate)) as mnd, COUNT(*) AS ant
FROM " . USERS_TABLE . "
WHERE (user_id <> " . ANONYMOUS . " )
GROUP BY YEAR(FROM_UNIXTIME(user_regdate)), MONTH(FROM_UNIXTIME(user_regdate))
ORDER BY user_regdate";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Couldn\'t retrieve users data', '', __LINE__, get_module_fd_name(__FILE__), $sql);
}
$user_count = $db->sql_numrows($result);
$user_data = $db->sql_fetchrowset($result);
for ($i = 0; $i < $user_count; $i=$i+$k)
{
$class = ( !($i+1 % 2) ) ? $theme['td_class2'] : $theme['td_class1'];
$year = $user_data[$i]['aar'];
$k = 0;
for ($j = 0; $j < 12; $j++)
{
$m[$j+1] = 0;
}
for ($j = 0; $j < 12; $j++)
{
if ($year == $user_data[$i+$j]['aar'])
{
$month = $user_data[$i+$j]['mnd'];
$m[$month] = $user_data[$i+$j]['ant'];
$k = $k + 1;
}
}
$template->assign_block_vars('signup', array( 'CLASS' => $class,
'YEAR' => $year,
'M01' => $m[1],
'M02' => $m[2],
'M03' => $m[3],
'M04' => $m[4],
'M05' => $m[5],
'M06' => $m[6],
'M07' => $m[7],
'M08' => $m[8],
'M09' => $m[9],
'M10' => $m[10],
'M11' => $m[11],
'M12' => $m[12])
);
$result_cache->assign_template_block_vars('signup');
}
}
else
{
for ($i = 0; $i < $result_cache->block_num_vars('signup'); $i++)
{
// Method 1: We are assigning the block variables from the result cache to the template. ;)
$template->assign_block_vars('signup', $result_cache->get_block_array('signup', $i));
}
}
$template->assign_vars(array( 'L_SIGNUPBYMONTH' => $lang['Signup_month'],
'L_YEAR' => $lang['Year'],
'L_MONTH' => $lang['Month'],
'L_NUMBER' => $lang['Number'],
'L_JAN' => $lang['Month_jan'],
'L_FEB' => $lang['Month_feb'],
'L_MAR' => $lang['Month_mar'],
'L_APR' => $lang['Month_apr'],
'L_MAY' => $lang['Month_may'],
'L_JUN' => $lang['Month_jun'],
'L_JUL' => $lang['Month_jul'],
'L_AUG' => $lang['Month_aug'],
'L_SEP' => $lang['Month_sep'],
'L_OCT' => $lang['Month_oct'],
'L_NOV' => $lang['Month_nov'],
'L_DEC' => $lang['Month_dec'])
);
A za wyświetlanie odpowiada .tpl
<table border="0" width="100%" cellpadding="2" cellspacing="1" class="forumline"> <td class="catHead" align="center" colspan="13"> <span class="cattitle">{L_SIGNUPBYMONTH}
</span>
<!-- BEGIN signup -->
<td class="{signup.CLASS}" align="center" ><span class="gen">{signup.YEAR}
</span></td> <td class="{signup.CLASS}" align="center" valign="middle"><span class="gen">{signup.M01}
</span></td> <td class="{signup.CLASS}" align="center" valign="middle"><span class="gen">{signup.M02}
</span></td> <td class="{signup.CLASS}" align="center" valign="middle"><span class="gen">{signup.M03}
</span></td> <td class="{signup.CLASS}" align="center" valign="middle"><span class="gen">{signup.M04}
</span></td> <td class="{signup.CLASS}" align="center" valign="middle"><span class="gen">{signup.M05}
</span></td> <td class="{signup.CLASS}" align="center" valign="middle"><span class="gen">{signup.M06}
</span></td> <td class="{signup.CLASS}" align="center" valign="middle"><span class="gen">{signup.M07}
</span></td> <td class="{signup.CLASS}" align="center" valign="middle"><span class="gen">{signup.M08}
</span></td> <td class="{signup.CLASS}" align="center" valign="middle"><span class="gen">{signup.M09}
</span></td> <td class="{signup.CLASS}" align="center" valign="middle"><span class="gen">{signup.M10}
</span></td> <td class="{signup.CLASS}" align="center" valign="middle"><span class="gen">{signup.M11}
</span></td> <td class="{signup.CLASS}" align="center" valign="middle"><span class="gen">{signup.M12}
</span></td> <!-- END signup -->