手机版 | 登陆 | 注册 | 留言 | 设首页 | 加收藏
当前位置: 网站首页 > 技术教程 > emlog教程 > 文章 当前位置: emlog教程 > 文章

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

时间:2019-11-09    点击: 次    来源:网络    作者:小码 - 小 + 大

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

调用代码:

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

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

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

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

  • lognum 游客可见日志总数
  • draftnum  草稿,也就是隐藏文件数量
  • comnum  未隐藏的评论数量
  • comnum_all  所有评论数量
  • hidecomnum  被隐藏的评论数量
  • twnum  微语数量
  • checknum 未审核的文章数量

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

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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
<?php //统计文章总数 function count_log_all(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "blog WHERE type = 'blog'"); return $data['total']; }   //置顶文章数 function count_log_top(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "blog WHERE  top = 'y' or sortop = 'y' AND type = 'blog'"); return $data['total']; } //隐藏文章数 function count_log_hide(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "blog WHERE hide = 'y' AND type = 'blog'"); return $data['total']; }   //未审核文章数 function count_log_check(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "blog WHERE checked = 'n' AND type = 'blog'"); return $data['total']; }   //加密文章数 function count_log_pass(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "blog WHERE  password !='' AND type = 'blog'"); return $data['total']; }   //统计页面总数 function count_page_all(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "blog WHERE type = 'page'"); return $data['total']; }   //统计评论总数 function count_com_all(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "comment"); return $data['total']; } //统计友链总数 function count_link_all(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "link"); return $data['total']; }   //统计微语评论总数 function count_treply_all(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "reply"); return $data['total']; }   //统计分类总数 function count_sort_all(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "sort"); return $data['total']; }   //统计子分类数 function count_sort_mod(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "sort WHERE pid != 0"); return $data['total']; }   //统计标签总数 function count_tag_all(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "tag"); return $data['total']; }   //统计微语总数 function count_tw_all(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "twitter"); return $data['total']; }   //统计用户总数 function count_user_all(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "user"); return $data['total']; }   //统计管理员总数 function count_user_admin(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "user WHERE role = 'admin'"); return $data['total']; }   //统计作者总数 function count_user_writer(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "user WHERE role = 'writer'"); return $data['total']; }   //统计附件总数 function count_att_all(){ $db = MySql::getInstance(); $data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "attachment"); return $data['total']; }   //最后发表文章时间  function last_post_log(){ $db = MySql::getInstance(); $sql = "SELECT * FROM " . DB_PREFIX . "blog WHERE type='blog' ORDER BY date DESC LIMIT 0,1"; $res = $db->query($sql); $row = $db->fetch_array($res); $date = date('Y-n-j H:i',$row['date']); return $date; }; ?>

调用代码:

1234567891011121314151617181920
<ul>	<li>文章总数:<?php echo count_log_all();?></li>	<li>置顶文章:<?php echo count_log_top();?></li>	<li>隐藏文章:<?php echo count_log_hide();?></li>	<li>待审文章:<?php echo count_log_check();?></li>	<li>加密文章:<?php echo count_log_pass();?></li>	<li>页面总数:<?php echo count_page_all();?></li>	<li>评论总数:<?php echo count_com_all();?></li>	<li>友链总数:<?php echo count_link_all();?></li>	<li>微语评论:<?php echo count_treply_all();?></li>	<li>分类总数:<?php echo count_sort_all();?></li>	<li>子分类数:<?php echo count_sort_mod();?></li>	<li>标签总数:<?php echo count_tag_all();?></li>	<li>微语总数:<?php echo count_tw_all();?></li>	<li>用户总数:<?php echo count_user_all();?></li>	<li>管理员数:<?php echo count_user_admin();?></li>	<li>作者总数:<?php echo count_user_writer();?></li>	<li>附件总数:<?php echo count_att_all();?></li>	<li>最后更新:<?php echo last_post_log();?></li>	</ul>

上一篇:Emlog非插件实现隐藏文章内容登陆后可见的方法

下一篇:EMLOG实现文章页自动添加版权

软码库_找资源就来软码库!