当前位置:首页 > PHP教程 > php应用 > 列表

php+mysql文章浏览次数统计及发布时间

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-10 11:35:26 浏览: 评论:0 

一个网页能显示出“文件上传时间”和“浏览人数”,不仅是文章历史的纪录,也能反映出该文章的受众欢迎度,“文件上传时间”和“浏览人数”记录方法肯定很多,笔者根据自己的理解用php+mysql写了一个,不知代码够不够优化,但使用起来感觉不错,没有问题,今写出来和大家一起分享.

思路:

1、文章上传时先在数据库中写入“网页地址”、“上传时间time()”和“计数起点0”。

2、当用户打开网页时,先通过$_SESSION["article"]判断是否在线。如果不在线,则打开数据库,取出原有的计数,并加 1 ,再更新数据库。防止在线用户“刷新”,虚增计数。

3、打开并取出最后更新的计数,显示在网页上。

举例,在<html>前面写下如下代码:

  1. <?php 
  2. session_start(); 
  3. $stsfile = "10001.php";  
  4. $nowtime = time(); 
  5. date_default_timezone_set("Asia/Chongqing");//设置时间标准 
  6. If (!isset($_SESSION['article']) || $_SESSION['article'] != $stsfile ) //判断用户是否在线 
  7. $link = mysql_connect("localhost","库名","密码"or die ("打开数据库失败"); 
  8. mysql_select_db("库名",$link); //连接数据库 
  9. mysql_query("set names 'utf8'"); //设置存取编码 
  10. //开源代码phpfensi.com 
  11. //查询$stsfile的记录是否已经存在,如果不存在就插入时间及计数基数0,如果存在,则+1,更新计数。 
  12. $sql = "SELECT * FROM statistics WHERE `StsFile`= '$stsfile'"
  13. $result=mysql_query($sql); 
  14. $row = mysql_fetch_array($result); 
  15. If (emptyempty($row['StsID'])) 
  16. mysql_query("INSERT INTO `statistics`(`StsFile`,`StsTime`,`StsNumb`) VALUES ('$stsfile','$nowtime','0')"); 
  17. session_start(); 
  18. $_SESSION['article'] = $stsfile
  19. Else 
  20. $numb = $row['StsNumb']+1; 
  21. mysql_query("UPDATE `statistics` SET `StsNumb` = '$numb' WHERE `StsFile` = '$stsfile'"); 
  22. session_start(); 
  23. $_SESSION['article'] = $stsfile//写下$_SESSION[] 
  24. ?> 

网页显示部分即<html>后面部分,代码如下:

  1. <?php 
  2. $link = mysql_connect("localhost","库名","密码"or die ("打开数据库失败"); 
  3. mysql_select_db("库名",$link); //连接数据库 
  4. mysql_query("set names 'utf8'"); //设置存取编码 
  5. $sql = "SELECT * FROM statistics WHERE `StsFile`= '$stsfile'"
  6. $result=mysql_query($sql); 
  7. $row = mysql_fetch_array($result); 
  8. echo "上传时间:".date("Y-m-d H:i:s",$row['StsTime'])." 浏览数:".$row['StsNumb']; 
  9. ?>

Tags: php文章浏览 php次数统计

分享到: