本文章來給大家介紹一個php+mysql文章浏覽次數統計及發布時間實例,如果你對此有需要不防進入參考一下吧。
一個網頁能顯示出“文件上傳時間”和“浏覽人數”,不僅是文章歷史的紀錄,也能反映出該文章的受眾歡迎度。“文件上傳時間”和“浏覽人數”記錄方法肯定很多,筆者根據自己的理解用php+mysql寫了一個,不知代碼夠不夠優化,但使用起來感覺不錯,沒有問題,今寫出來和大家一起分享。
思路
1、文章上傳時先在數據庫中寫入“網頁地址”、“上傳時間time()”和“計數起點0”。
2、當用戶打開網頁時,先通過$_SESSION["article"]判斷是否在線。如果不在線,則打開數據庫,取出原有的計數,並加 1 ,再更新數據庫。防止在線用戶“刷新”,虛增計數。
3、打開並取出最後更新的計數,顯示在網頁上。
舉例
在<html>前面寫下:
代碼如下 復制代碼<?php
session_start();
$stsfile = "10001.php";
$nowtime = time();
date_default_timezone_set("Asia/Chongqing");//設置時間標准
If (!isset($_SESSION['article']) || $_SESSION['article'] != $stsfile ) //判斷用戶是否在線
{
$link = mysql_connect("localhost","庫名","密碼") or die ("打開數據庫失敗");
mysql_select_db("庫名",$link); //連接數據庫
mysql_query("set names 'utf8'"); //設置存取編碼
//查詢$stsfile的記錄是否已經存在,如果不存在就插入時間及計數基數0,如果存在,則+1,更新計數。
$sql = "SELECT * FROM statistics WHERE `StsFile`= '$stsfile'";
$result=mysql_query($sql);
$row = mysql_fetch_array($result);
If (empty($row['StsID']))
{
mysql_query("INSERT INTO `statistics`(`StsFile`,`StsTime`,`StsNumb`) VALUES ('$stsfile','$nowtime','0')");
session_start();
$_SESSION['article'] = $stsfile;
}
Else
{
$numb = $row['StsNumb']+1;
mysql_query("UPDATE `statistics` SET `StsNumb` = '$numb' WHERE `StsFile` = '$stsfile'");
session_start();
$_SESSION['article'] = $stsfile; //寫下$_SESSION[]
}
}
?>
網頁顯示部分即<html>後面部分:
代碼如下 復制代碼<?php
$link = mysql_connect("localhost","庫名","密碼") or die ("打開數據庫失敗");
mysql_select_db("庫名",$link); //連接數據庫
mysql_query("set names 'utf8'"); //設置存取編碼
$sql = "SELECT * FROM statistics WHERE `StsFile`= '$stsfile'";
$result=mysql_query($sql);
$row = mysql_fetch_array($result);
echo "上傳時間:".date("Y-m-d H:i:s",$row['StsTime'])." 浏覽數:".$row['StsNumb'];
?>