# :-: 可以统计网站内的相关数据信息。
统计请求入口参数
| 参数 | 功能 | 说明 |
| --- | --- |--- |
| Time | 建站时间 | 网站成立时间统计 |
| User | 全站账号 | 获取用户相关统计 |
| Db | 数据表统计 | 获取数据表相关统计 |
| Query | 多表关联统计 | 多表关联查询获取统计 |
| Msg | 站内信 | 当前账号站内信统计 |
| Cart | 购物车 | 当前账号购物车统计 |
| Runtime | 运行时间 | 程序从开始到代码所在位置执行时间 |
代码格式如下
```
TM()->SiteCount('参数',[功能相关数组]) //功能相关数组下面未举例可为空
```
*****
# **网站成立时间统计**
请求参数:
| 代码信息 | 说明 |
| --- | --- |
| `TM()->SiteCount('Time')` | 以数组的方式输出<br>创建时间戳:值为`stamp` <br>成立天数:值为`day` <br>创建时间:值为`date` 默认格式:`Y-m-d H:i:s`|
| `TM()->SiteCount('Time',['day'])` | 站点创建天数 阿拉伯数字|
| `TM()->SiteCount('Time',['stamp'])` | 创建时间戳 可自定义加工处理|
| `TM()->SiteCount('Time',['date'])` | 创建日期 默认格式:`Y-m-d H:i:s`<br>自定义格式:`TM()->SiteCount('Time',['date','Y年m月d日 H时i分s秒'])`|
示例代码:
~~~php
模板语法:站点创建天数:{:TM()->SiteCount('Time',['day'])}<br>
PHP语法:站点创建天数:<?php echo TM()->SiteCount('Time',['time']);?>
~~~
*****
# **统计用户信息**
> 建议在模板变量赋值使用,这样就不会重复查询。
>
请求参数:
| 代码信息 | 说明 |
| --- | --- |
| `TM()->SiteCount('User')` | 以数组的方式输出<br>全部用户数:值为`count` <br>管理用户数:值为`admin` <br>普通用户数:值为`user`<br>代理用户数:值为`agent`<br>商家用户数:值为`business`|
| `TM()->SiteCount('User',['count'])` | 单独输出全部用户数|
| `TM()->SiteCount('User',['admin'])` | 单独输出管理用户数 用户组标识`admin`|
| `TM()->SiteCount('User',['user'])` | 单独输出普通用户数 用户组标识`user`|
| `TM()->SiteCount('User',['agent'])` | 单独输出代理用户数 用户组标识`agent`|
| `TM()->SiteCount('User',['business'])` | 单独输出商家通用户数 用户组标识`business`|
| 高级代码↓ | --- |
| `TM()->SiteCount('User',['用标识',用户组ID])` | 单独输出指定用户类型的用户组数量|
| `TM()->SiteCount('User',['用标识','reg',多少天])` | 输出查询指定用户过去多少天注册数量|
示例代码1:
~~~php
//app/index/controllers/tm2.php控制器代码
$template = Template();
// 模板变量赋值
$template->assign('Ucountr', TM()->SiteCount('User'));
// 读取模板文件渲染输出
$template->fetch('index/tm2');
//template/default/index/tm2.php 模板代码
读取注册用户信息<br>
全部用户:{$Ucount.count}<br>
管理用户:{$Ucount.admin}<br>
普通用户:{$Ucount.user}<br>
代理用户:{$Ucount.agent}<br>
商家用户:{$Ucount.business}
~~~
示例代码2:
```
//直接输出,不赋值。用于显示一种
全部用户:{:TM()->SiteCount('User',['count'])}
```
*****
# **统计数据表信息**
| 时间标识 | 说明 |
| --- | --- |
| D | 多少天之前,比如10天之前 |
| W | 多少周之前,比如1周之前 |
| M | 多少月之前,比如1月之前 |
| Y | 多年内,比如1年内 |
> 本方法是为了方便统计以上表内的数据,建议使用DB内置的 `getCount()`或`execute()`方法
示范标签代码
全部商品数量
`{:TM()->SiteCount('Db',['shop_content',[]])}`
今天发布商品数量
`{:TM()->SiteCount('Db',['shop_content',[['field'=>'addtime','value' => '0','alias' => 'D']]])}`
昨天发布商品数量
`{:TM()->SiteCount('Db',['shop_content',[['field'=>'addtime','value' => '1','alias' => 'D']]])}`
本周发布商品数量
`{:TM()->SiteCount('Db',['shop_content',[['field'=>'addtime','value' => '0','alias' => 'W']]])}`
上周发布商品数量
`{:TM()->SiteCount('Db',['shop_content',[['field'=>'addtime','value' => '1','alias' => 'W']]])}`
本月发布商品数量
`{:TM()->SiteCount('Db',['shop_content',[['field'=>'addtime','value' => '0','alias' => 'M']]])}`
上月发布商品数量
`{:TM()->SiteCount('Db',['shop_content',[['field'=>'addtime','value' => '1','alias' => 'M']]])}`
今年发布商品数量
`{:TM()->SiteCount('Db',['shop_content',[['field'=>'addtime','value' => '0','alias' => 'Y']]])}`
去年发布商品数量
`{:TM()->SiteCount('Db',['shop_content',[['field'=>'addtime','value' => '1','alias' => 'Y']]])}`
**完整示范**
~~~php
<?php
//查询某表今天添加数据数量 0代表今天,1代表昨天 其它数字代表x天前
//where筛选为空时则统计全部数量
echo TM()->SiteCount('Db',
['表名',
[ //where筛选数组,支持多个字段筛选
[
'field' => 'addtime',//字段
'value' => '0',//值
'alias' => 'D'//标识
]
]
]
)
//或者使用DB内部方法
echo DB('表')->where("筛选条件")->getCount();
?>
<?php
//通过自编SQL关联查询查询某表今天添加数据数量 0代表今天,1代表昨天 其它数字代表x天前
//where筛选为空时则统计全部数量
echo TM()->SiteCount(Query',
['SELECT b.type,a.* FROM cp_user AS a LEFT JOIN cp_user_group AS b ON',
[ //where筛选数组,支持多个字段筛选
[
'field' => 'a.addtime',//字段
'value' => '0',//值
'alias' => 'D'//标识
]
]
]
)
//或者使用DB内部方法
DB('table')->execute("完整的SQL语句");
?>
~~~
*****
# **获得页面执行时间**
输出全部
~~~
页面执行时间:{:TM()->SiteCount('Runtime')}毫秒
~~~
输出保留小数点后3位
~~~
页面执行时间:{:TM()->SiteCount('Runtime',[3])}毫秒
~~~
**更高级玩法**
~~~php
//记录开始时间
runtime('fs');
for ($i=0;$i<100000;$i++){
$i++;
}
//记录结束时间
runtime('fe');
//输出所执行时间
echo 'For执行时间:'.runtime('fs','fe');
~~~
- 关于CMSPRO
- 安装使用
- 首次使用
- 功能使用
- 系统后台
- 系统
- 系统配置
- 开发使用
- 基础学习
- php如何修改文件创建时间
- 类方法
- 系统框架
- 系统入口框架
- URL处理
- 自动附加封装类、函数入口
- 内置应用
- GET与POST
- 字符控制
- 多语言使用
- 数据库使用
- 页面跳转
- 数组控制
- 时间相关
- 文件操作
- 获取系统设置的应用目录
- IP获取与解析
- 数据分页
- 内置插件
- 短信发送
- 信息模板
- 消息操作
- 消息操作(旧)
- 资金操作
- 优惠券
- 积分操作
- 服务器接口
- 宝塔接口
- 域名接口
- 西部数据
- whois查询
- 事件管理器
- 规则管理器
- 电子邮件
- 常用代码
- 数据获取与分页
- 模型自动构建表单
- 排版布局
- 常用样式
- 编辑表单
- tab选项卡
- JS相关
- 插件
- 钩子
- 高级进阶
- 消息和模板组合使用
- API接口
- 充值支付
- 积分充值兑换
- 短信验证码
- 邮箱验证码
- 微信消息模板
- 获取货币信息
- 获取积分信息
- 商品操作
- 信息反馈
- LayIM相关
- 自定义一级URL
- 自定义功能
- 用户中心
- 网站管理
- 模板引擎v2
- 基础学习
- 变量输出
- 使用函数
- 运算符
- 原样输出
- 模板注释
- 模板继承
- 包含文件
- 内置标签
- 循环标签
- 比较标签
- 条件判断
- 资源文件加载
- 标签嵌套
- 原生PHP
- 定义标签
- 功能应用
- 站点统计
- 数据列表
- 单条数据
- 功能动作
- 账户资金
- 账户积分
- 网站导航
- 从零使用
- 结构了解
- 基础工作
- 模板引擎v1
- 模板标签
- 导航菜单
- 获取数据列表
- 获取单条数据
- 广告以及连接
- if判断
- 判断是否登录
- 判断系统变量
- 自定义判断
- 常规判断
- 模板表单
- 高级使用
- 前后分离v1
- 通用
- 支付
- 积分
- 论坛
- 下载
- 微信
- 云服务SDK开发
- 通用请求