ecshop后台添加一个完整的统计用户信息的功能 ecshop教程 - ecshop - 爱建站

,,cms教程,ecshop教程,,

SEO SEO

首页  >   ecshop > ecshop后台添加一个完整的统计用户信息的功能 ecshop教程   >  正文

 

开发ecshop大概有半年多时间了,每次改的功能也没有做总结和记录,今天添加完一个功能,记录一下吧,省得以后忘记又要麻烦去查找


开发ecshop大概有半年多时间了,每次改的功能也没有做总结和记录,今天添加完一个功能,记录一下吧,省得以后忘记又要麻烦去查找。

需求:在后台菜单-报表统计-下面添加-用户情况-的功能,包括:每周新增注册用户,每周累积注册用户,活跃用户-周内至少登陆1次,每月访问量等等。

第一步:建立数据库的表

 

ecshop后台添加一个完整的统计用户信息的功能
说明:个人本地数据库是:eshop,新建表名:ecs_user_situation。

第二步:建立存储过程

DELIMITER $$  

  1.   
  2. DROP PROCEDURE IF EXISTS `eshop`.`pro_users`$$  
  3.   
  4. CREATE DEFINER=`root`@`localhost` PROCEDURE `pro_users`()  
  5. BEGIN  
  6.     DECLARE week_count INT;  
  7.     DECLARE user_count INT;  
  8.     DECLARE over_count INT;  
  9.     DECLARE month_count INT;  
  10.     -- 每周注册用户  
  11.     SELECT COUNT(*) INTO week_count FROM ecs_users WHERE reg_time>(UNIX_TIMESTAMP(NOW())-7*24*60*60);  
  12.     -- 总注册用户  
  13.     SELECT COUNT(*) INTO user_count FROM ecs_users;  
  14.     -- 每周的活跃用户  
  15.     SELECT COUNT(*) INTO over_count FROM ecs_users WHERE last_login>(UNIX_TIMESTAMP(NOW())-7*24*60*60);  
  16.     -- 每月的访问量  
  17.     SELECT COUNT(*) INTO month_count FROM ecs_stats WHERE access_time>UNIX_TIMESTAMP(DATE_SUB(DATE_SUB(DATE_FORMAT(NOW(),"%y-%m-%d 00:00:00"),INTERVAL EXTRACT(DAY FROM NOW())-1 DAY),INTERVAL 0 MONTH));  
  18.       
  19.     INSERT INTO ecs_user_situation(week_count,user_count,over_count,month_count,week_time) VALUES (week_count,user_count,over_count,month_count,NOW());  
  20.     END$$  
  21.   
  22. DELIMITER ;  

说明:个人本地存储过程名字:pro_users。

第三步:建立触发器

[sql] view plaincopyprint?

 

  1. DELIMITER $$  
  2.   
  3. ALTER EVENT `eve_users` ON SCHEDULE EVERY 1 HOUR STARTS "2013-09-02 12:11:14" ON COMPLETION PRESERVE ENABLE DO BEGIN  
  4.         CALL pro_users();  
  5.     END$$  
  6.   
  7. DELIMITER ;  

说明:个人本地触发器名字:eve_users。

第四步:添加后台菜单

1.添加菜单URL

在目录admin/includes/inc_menu.php的-报表统计-的那部分代码下面添加:


 

  1. $modules["06_stats"]["user_situation"]  = "user_situation.php?act=list";  

2.添加菜单名称

在目录languages/zh_cn/admin/common.php的/* 报表统计 */的那部分代码下面添加:

 

  1. $_LANG["user_situation"] = "用户情况";  

3.添加菜单权限

在目录admin/includes/inc_priv.php的-报表统计权限-的那部分代码下面添加:

$purview["user_situation"]       = "user_situation";  

4.添加管理权限

在目录languages/zh_cn/admin/priv_action.php添加下面的代码:

$_LANG["user_situation"] = "用户情况";  

5.添加数据库权限记录

INSERT INTO ecs_admin_action(parent_id,action_code) VALUES(6,"user_situation");  

第五步:业务逻辑代码

在目录admin下面添加user_situation.php,代码如下:

 

  1. <?php  
  2. /** 
  3.  * add by zbl 2013-08-29 
  4.  * 新增注册用户,累积注册用户,活跃用户-周内至少登陆1次,每月访问量 
  5.  * @var unknown_type 
  6.  */  
  7. define("IN_ECS", true);  
  8. //页面引用  
  9. require(dirname(__FILE__) . "/includes/init.php");  
  10. require_once(ROOT_PATH . "/" . ADMIN_PATH . "/includes/lib_goods.php");  
  11.   
  12. if($_REQUEST["act"]=="list"){  
  13.       
  14.     $user_situation=get_user_situation();  
  15.       
  16.     $smarty->assign("user_situation_list"$user_situation["user_situation_list"]);  
  17.     $smarty->assign("filter",       $user_situation["filter"]);  
  18.     $smarty->assign("record_count"$user_situation["record_count"]);  
  19.     $smarty->assign("page_count",   $user_situation["page_count"]);  
  20.     $smarty->assign("full_page",    1);//解决分页查询出现页面重复情况  
  21.       
  22.     $smarty->assign("ur_here"$_LANG["user_situation"]);  
  23.       
  24.     /* 在页脚显示内存信息 */  
  25.     assign_query_info();  
  26.     $smarty->display("user_situation.htm");  
  27. 温馨提示:如果你正在寻找优秀的ecshop模板,那你可以到的 ecshop模板 频道看看,相信一定有你喜欢的!


ecshop后台添加一个完整的统计用户信息的功能 ecshop教程
http://www.yuedudg.cn/article/1181841.html

 

友情链接
帝国cms常识 zblog之家 cms综合网
wp之家 织梦之家 phpcms之家
discuz经验网 ecshop经验网


Tags: cms教程 ecshop教程


手机浏览本文

ecshop后台添加一个完整的统计用户信息的功能  ecshop教程

ecshop后台添加一个完整的统计用户信息的功能 ecshop教程

站内推荐

网站分类

标签列表

关于我们
文章内容来源互联网仅供参考,如果还有疑问请联系我们!我们将竭力帮您解决您的问题
联系我们:

QQ: 397423577 

email:397423577@qq.com

微信:ganenboy