streitleak 寫:我會建議試試看自己修改SQL語法...
改成找user表中上一次來訪時間是不是在一天內的會比較好...
PS:抓不到ZIP檔,暫時無法研究中
剛稍微改了一下Show Today Register User的PHP部分
把
代碼: 選擇全部
//Show Today Register User by Yoshikawa
$today_registered_users = 0;
$yesterday_registered_users = 0;
$today_time = time();
$yesterday_time = $today_time - 86400;
$day = create_date('d', $yesterday_time, $userdata['user_timezone']);
$month = create_date('m', $yesterday_time, $userdata['user_timezone']);
$year = create_date('Y', $yesterday_time, $userdata['user_timezone']);
$y_day_from = strtotime($year.'-'.$month.'-'.$day.' 00:00:00');
$day = create_date('d', $today_time, $userdata['user_timezone']);
$month = create_date('m', $today_time, $userdata['user_timezone']);
$year = create_date('Y', $today_time, $userdata['user_timezone']);
$t_day_from = strtotime($year.'-'.$month.'-'.$day.' 00:00:00');
$sql = "SELECT count(distinct user_id) as total_users FROM " . USERS_TABLE . "
WHERE user_regdate >= $y_day_from
AND user_regdate < $t_day_from
AND user_id <> " . ANONYMOUS;
if ( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not get yesterday registered users', '', __LINE__, __FILE__, $sql);
}
while ( $row = $db->sql_fetchrow($result) )
{
$yesterday_registered_users = $row['total_users'];
}
$db->sql_freeresult($result);
$sql = "SELECT count(distinct user_id) as total_users FROM " . USERS_TABLE . "
WHERE user_regdate >= $t_day_from
AND user_id <> " . ANONYMOUS;
if ( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not get yesterday registered users', '', __LINE__, __FILE__, $sql);
}
while ( $row = $db->sql_fetchrow($result) )
{
$today_registered_users = $row['total_users'];
}
$db->sql_freeresult($result);
//Show Today Register User by Yoshikawa
換成下面的試試看吧\r
代碼: 選擇全部
$now = localtime(time(),true);
$today=mktime(0,0,0,$now["tm_mday"],$nowp["tm_mon"],$now["tm_year"]);
$sql = "SELECT count(distinct user_id) as total_users FROM " . USERS_TABLE . "
WHERE user_regdate >= $today-86400
AND user_regdate < $today
AND user_id <> " . ANONYMOUS;
if ( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not get yesterday registered users', '', __LINE__, __FILE__, $sql);
}
while ( $row = $db->sql_fetchrow($result) )
{
$yesterday_registered_users = $row['total_users'];
}
$db->sql_freeresult($result);
$sql = "SELECT count(distinct user_id) as total_users FROM " . USERS_TABLE . "
WHERE user_regdate >= $today
AND user_id <> " . ANONYMOUS;
if ( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not get yesterday registered users', '', __LINE__, __FILE__, $sql);
}
while ( $row = $db->sql_fetchrow($result) )
{
$today_registered_users = $row['total_users'];
}
$db->sql_freeresult($result);