📄 stat.class.php
字号:
<?php
class stat
{
var $db;
function __construct()
{
global $db,$_userid;
$this->db = &$db;
$this->tables = $this->db->tables();
}
function stat()
{
$this->__construct();
}
function count($table, $field = '', $type = 'all', $where = '')
{
if($type == 'all')
{
return $this->table_rows(DB_PRE.$table);
}
elseif($type == 'today')
{
$time_start = strtotime(date('Y-m-d', TIME).' 00:00:00');
return $this->count_by_time(DB_PRE.$table, $field, $time_start, 0, $where);
}
elseif($type == 'yesterday')
{
$yesterday = date('Y-m-d', TIME-86400);
$time_start = strtotime($yesterday.' 00:00:00');
$time_end = strtotime($yesterday.' 23:59:59');
return $this->count_by_time(DB_PRE.$table, $field, $time_start, $time_end, $where);
}
elseif($type == 'week')
{
$w = date('w', TIME);
if($w == 0) $w = 7;
$w--;
$time_start = date('Y-m-d', TIME-86400*$w);
$time_start = strtotime($time_start.' 00:00:00');
return $this->count_by_time(DB_PRE.$table, $field, $time_start, 0, $where);
}
elseif($type == 'month')
{
$time_start = date('Y-m-0', TIME);
$time_start = strtotime($time_start.' 00:00:00');
return $this->count_by_time(DB_PRE.$table, $field, $time_start, 0, $where);
}
}
function count_content($where)
{
return cache_count("SELECT count(*) AS `count` FROM `".DB_PRE."content` WHERE $where");
}
function count_member($where)
{
return cache_count("SELECT count(*) AS `count` FROM `".DB_PRE."member_cache` WHERE $where");
}
function count_by_time($table, $field, $fromtime = 0, $totime = 0, $where = '')
{
$sql = '';
if(is_array($where))
{
$array_where = $where;
$where = $array_where[2];
if($fromtime) $sql .= " AND a.`$field`>=$fromtime ";
if($totime) $sql .= " AND a.`$field`<=$totime ";
$where = $where ? $where.$sql : substr($sql, 3);
if($where) $where = " WHERE $where ";
return cache_count("SELECT count(*) AS `count` FROM $table a,$array_where[0] m $where");
}
else
{
if($fromtime) $sql .= "AND `$field`>=$fromtime ";
if($totime) $sql .= "AND `$field`<=$totime ";
$where = $where ? $where.$sql : substr($sql, 3);
if($where) $where = " WHERE $where";
return cache_count("SELECT count(*) AS `count` FROM $table $where");
}
}
function table_rows($table)
{
if(!in_array($table, $this->tables)) return false;
$r = $this->db->table_status($table);
return $r['Rows'];
}
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -