实现emlog网站信息统计的代码

有时候想在网页中向访客展示emlog博客的文章数量、评论数量、运行时间等信息,但emlog后台侧边栏没有提供相关的模块,因此需要博主自主添加博客统计信息代码。下面是久伴整理的emlog网站信息统计代码,已在emlog 5.3.x上测试可用。

方法一:官方缓存类统计代码。优点:加载速度快;缺点:可能信息更新不及时。

把以下代码添加到当前使用的主题模板文件中,如side.php文件:

  1. <?php $sta_cache = Cache::getInstance()->readCache(‘sta’); /*必须添加*/ ?>  
  2. <ul>  
  3.     <li>文章总数:<?php echo $sta_cache[‘lognum’]; ?> 篇</li>  
  4.     <li>评论总数:<?php echo $sta_cache[‘comnum_all’]; ?> 条</li>  
  5.     <li>闲言碎语:<?php echo $sta_cache[‘twnum’]; ?>条</li>         
  6.     <li>网站运行:<?php echo floor((time()-strtotime(20160423))/86400); ?> 天</li>      
  7. </ul>  

附:$sta_cache[‘参数’]中的参数可选如下:

lognum 游客可见日志总数

draftnum 草稿,也就是隐藏文件数量

comnum 未隐藏的评论数量

comnum_all 所有评论数量

hidecomnum 被隐藏的评论数量

twnum 微语数量

checknum 未审核的文章数量

方法二:自编函数,通过SQL语句查询相关数据。缺点:加载速度较缓存类慢;优点:实时显示

把下面的代码添加到主题的module.php文件中:

  1. <?php  
  2.     //统计文章总数  
  3.     function count_log_all(){  
  4.         $db = MySql::getInstance();  
  5.         $data = $db->once_fetch_array(“SELECT COUNT(*) AS total FROM “ . DB_PREFIX . “blog WHERE type = ‘blog'”);  
  6.         return $data[‘total’];  
  7.     }  
  8.    
  9.     //置顶文章数  
  10.     function count_log_top(){  
  11.         $db = MySql::getInstance();  
  12.         $data = $db->once_fetch_array(“SELECT COUNT(*) AS total FROM “ . DB_PREFIX . “blog WHERE  top = ‘y’ or sortop = ‘y’ AND type = ‘blog'”);  
  13.         return $data[‘total’];  
  14.     }  
  15.     //隐藏文章数  
  16.     function count_log_hide(){  
  17.         $db = MySql::getInstance();  
  18.         $data = $db->once_fetch_array(“SELECT COUNT(*) AS total FROM “ . DB_PREFIX . “blog WHERE hide = ‘y’ AND type = ‘blog'”);  
  19.         return $data[‘total’];  
  20.     }  
  21.    
  22.     //未审核文章数  
  23.     function count_log_check(){  
  24.         $db = MySql::getInstance();  
  25.         $data = $db->once_fetch_array(“SELECT COUNT(*) AS total FROM “ . DB_PREFIX . “blog WHERE checked = ‘n’ AND type = ‘blog'”);  
  26.         return $data[‘total’];  
  27.     }  
  28.    
  29.     //加密文章数  
  30.     function count_log_pass(){  
  31.         $db = MySql::getInstance();  
  32.         $data = $db->once_fetch_array(“SELECT COUNT(*) AS total FROM “ . DB_PREFIX . “blog WHERE  password !=” AND type = ‘blog'”);  
  33.         return $data[‘total’];  
  34.     }  
  35.    
  36.     //统计页面总数  
  37.     function count_page_all(){  
  38.         $db = MySql::getInstance();  
  39.         $data = $db->once_fetch_array(“SELECT COUNT(*) AS total FROM “ . DB_PREFIX . “blog WHERE type = ‘page'”);  
  40.         return $data[‘total’];  
  41.     }  
  42.    
  43.     //统计评论总数  
  44.     function count_com_all(){  
  45.         $db = MySql::getInstance();  
  46.         $data = $db->once_fetch_array(“SELECT COUNT(*) AS total FROM “ . DB_PREFIX . “comment”);  
  47.         return $data[‘total’];  
  48.     }  
  49.     //统计友链总数  
  50.     function count_link_all(){  
  51.         $db = MySql::getInstance();  
  52.         $data = $db->once_fetch_array(“SELECT COUNT(*) AS total FROM “ . DB_PREFIX . “link”);  
  53.         return $data[‘total’];  
  54.     }  
  55.    
  56.     //统计微语评论总数  
  57.     function count_treply_all(){  
  58.         $db = MySql::getInstance();  
  59.         $data = $db->once_fetch_array(“SELECT COUNT(*) AS total FROM “ . DB_PREFIX . “reply”);  
  60.         return $data[‘total’];  
  61.     }  
  62.    
  63.     //统计分类总数  
  64.     function count_sort_all(){  
  65.         $db = MySql::getInstance();  
  66.         $data = $db->once_fetch_array(“SELECT COUNT(*) AS total FROM “ . DB_PREFIX . “sort”);  
  67.         return $data[‘total’];  
  68.     }  
  69.    
  70.     //统计子分类数  
  71.     function count_sort_mod(){  
  72.         $db = MySql::getInstance();  
  73.         $data = $db->once_fetch_array(“SELECT COUNT(*) AS total FROM “ . DB_PREFIX . “sort WHERE pid != 0”);  
  74.         return $data[‘total’];  
  75.     }  
  76.    
  77.     //统计标签总数  
  78.     function count_tag_all(){  
  79.         $db = MySql::getInstance();  
  80.         $data = $db->once_fetch_array(“SELECT COUNT(*) AS total FROM “ . DB_PREFIX . “tag”);  
  81.         return $data[‘total’];  
  82.     }  
  83.    
  84.     //统计微语总数  
  85.     function count_tw_all(){  
  86.         $db = MySql::getInstance();  
  87.         $data = $db->once_fetch_array(“SELECT COUNT(*) AS total FROM “ . DB_PREFIX . “twitter”);  
  88.         return $data[‘total’];  
  89.     }  
  90.    
  91.     //统计用户总数  
  92.     function count_user_all(){  
  93.         $db = MySql::getInstance();  
  94.         $data = $db->once_fetch_array(“SELECT COUNT(*) AS total FROM “ . DB_PREFIX . “user”);  
  95.         return $data[‘total’];  
  96.     }  
  97.    
  98.     //统计管理员总数  
  99.     function count_user_admin(){  
  100.         $db = MySql::getInstance();  
  101.         $data = $db->once_fetch_array(“SELECT COUNT(*) AS total FROM “ . DB_PREFIX . “user WHERE role = ‘admin'”);  
  102.         return $data[‘total’];  
  103.     }  
  104.    
  105.     //统计作者总数  
  106.     function count_user_writer(){  
  107.         $db = MySql::getInstance();  
  108.         $data = $db->once_fetch_array(“SELECT COUNT(*) AS total FROM “ . DB_PREFIX . “user WHERE role = ‘writer'”);  
  109.         return $data[‘total’];  
  110.     }  
  111.    
  112.     //统计附件总数  
  113.     function count_att_all(){  
  114.         $db = MySql::getInstance();  
  115.         $data = $db->once_fetch_array(“SELECT COUNT(*) AS total FROM “ . DB_PREFIX . “attachment”);  
  116.         return $data[‘total’];  
  117.     }  
  118.    
  119.     //最后发表文章时间   
  120.     function last_post_log(){  
  121.         $db = MySql::getInstance();  
  122.         $sql = “SELECT * FROM “ . DB_PREFIX . “blog WHERE type=’blog’ ORDER BY date DESC LIMIT 0,1”;  
  123.         $res = $db->query($sql);  
  124.         $row = $db->fetch_array($res);  
  125.         $date = date(‘Y-n-j H:i’,$row[‘date‘]);  
  126.         return $date;         
  127.     };  
  128. ?>  

调用代码:

  1. <ul>  
  2.     <li>文章总数:<?php echo count_log_all();?></li>  
  3.     <li>置顶文章:<?php echo count_log_top();?></li>  
  4.     <li>隐藏文章:<?php echo count_log_hide();?></li>  
  5.     <li>待审文章:<?php echo count_log_check();?></li>  
  6.     <li>加密文章:<?php echo count_log_pass();?></li>  
  7.     <li>页面总数:<?php echo count_page_all();?></li>  
  8.     <li>评论总数:<?php echo count_com_all();?></li>  
  9.     <li>友链总数:<?php echo count_link_all();?></li>  
  10.     <li>微语评论:<?php echo count_treply_all();?></li>  
  11.     <li>分类总数:<?php echo count_sort_all();?></li>  
  12.     <li>子分类数:<?php echo count_sort_mod();?></li>  
  13.     <li>标签总数:<?php echo count_tag_all();?></li>  
  14.     <li>微语总数:<?php echo count_tw_all();?></li>  
  15.     <li>用户总数:<?php echo count_user_all();?></li>  
  16.     <li>管理员数:<?php echo count_user_admin();?></li>  
  17.     <li>作者总数:<?php echo count_user_writer();?></li>  
  18.     <li>附件总数:<?php echo count_att_all();?></li>  
  19.     <li>最后更新:<?php echo last_post_log();?></li>   
  20. </ul>  

人已赞赏
emlog教程

非插件实现emlog博客文章点赞功能

2018-3-16 11:05:03

emlog教程

emlog博客在线访问人数统计代码

2018-3-16 11:11:53

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索