1 頁 (共 1 頁)

[分享]針對 Show Today Register User 相容 phpbb 2.0.18 修改

發表於 : 2005-12-15 16:46
streitleak
Show Today Register User
http://phpbb-tw.net/phpbb/viewtopic.php?t=29548

我會建議試試看自己修改SQL語法...
改成找user表中上一次來訪時間是不是在一天內的會比較好...

PS:抓不到ZIP檔,暫時無法研究中

發表於 : 2005-12-15 17:17
streitleak
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); 

發表於 : 2005-12-15 20:56
心靈捕手
streitleak 寫:我會建議試試看自己修改SQL語法...
改成找user表中上一次來訪時間是不是在一天內的會比較好...

PS:抓不到ZIP檔,暫時無法研究中
如果您是針對 Show Today Register User 修改的話,
那麼應該是與這個主題無關.

ps. 分割, 另外成立新主題.