首页 >php教程 >php手册 >php+mysql文章浏览次数统计及发布时间

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

WBOY
WBOY原创
2016-05-25 16:38:101543浏览

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

思路:

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

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

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

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

<?php
session_start();
$stsfile = "10001.php";
$nowtime = time();
date_default_timezone_set("Asia/Chongqing"); //设置时间标准
If (!isset($_SESSION[&#39;article&#39;]) || $_SESSION[&#39;article&#39;] != $stsfile) //判断用户是否在线
{
    $link = mysql_connect("localhost", "库名", "密码") or die("打开数据库失败");
    mysql_select_db("库名", $link); //连接数据库
    mysql_query("set names &#39;utf8&#39;"); //设置存取编码
    //查询$stsfile的记录是否已经存在,如果不存在就插入时间及计数基数0,如果存在,则+1,更新计数。
    $sql = "SELECT * FROM statistics WHERE `StsFile`= &#39;$stsfile&#39;";
    $result = mysql_query($sql);
    $row = mysql_fetch_array($result);
    If (emptyempty($row[&#39;StsID&#39;])) {
        mysql_query("INSERT INTO `statistics`(`StsFile`,`StsTime`,`StsNumb`) VALUES (&#39;$stsfile&#39;,&#39;$nowtime&#39;,&#39;0&#39;)");
        session_start();
        $_SESSION[&#39;article&#39;] = $stsfile;
    } Else {
        $numb = $row[&#39;StsNumb&#39;] + 1;
        mysql_query("UPDATE `statistics` SET `StsNumb` = &#39;$numb&#39; WHERE `StsFile` = &#39;$stsfile&#39;");
        session_start();
        $_SESSION[&#39;article&#39;] = $stsfile; //写下$_SESSION[]
    }
}

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

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


文章网址:

随意转载^^但请附上教程地址。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn