程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php+mysql文章浏覽次數統計及發布時間

php+mysql文章浏覽次數統計及發布時間

編輯:關於PHP編程

本文章來給大家介紹一個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'];

 ?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved