寫個計數(shù)函數(shù)封裝,用數(shù)據(jù)庫或者文件來進行記錄都可,在網(wǎng)頁中調(diào)用那個函數(shù)即可!你說的表可能是表單,用html語言就可以寫!至于語言工具就很多了,數(shù)據(jù)庫也很多,你不懂的也很多,準確的說是太多了,不要著急,腳踏實地,慢慢學(xué)吧!
成都創(chuàng)新互聯(lián)長期為1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為陽城企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計、網(wǎng)站制作,陽城網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
創(chuàng)建一個數(shù)據(jù)庫表
表名:table_counter
字段:number int(10)
1.顯示統(tǒng)計數(shù)據(jù)
$sql = "SELECT * FROM table_counter";
2.每次刷新頁面 執(zhí)行sql
$sql = "UPDATE table_counter SET number= number+ 1";
如果要做的精確一點
在加一個表
table_visit
字段:ip
1更次刷新取得游客$ip;
2.取得$ip后.查詢 table_vist .
如果存在則不更新table_counter.
如果不存在,則更新table_vist ,更新語句同上.并把$ip插入table_visit
如果還需要做的更人性化一點.設(shè)置一個時間間隔,比如說10分鐘.$diff = 600;
在table_visit再加上一個字段
datetime :int(10)(時間戳).記錄游客訪問時間.
1更次刷新取得游客$ip 和 時間$date = time();
2.查詢 table_vist .
$sql = "SELECT * FROM table_vist WHERE ip = '$ip'";
3.如果不存在.則把$ip和$date插入表table_vist.
$sql = "INSERT INTO table_vist SET ip = '$ip',timedate=$date";
并更新table_counter;
4.如果存在,則判斷該條查詢結(jié)果的timedate 和 現(xiàn)在時間$date,的差值.和 $diff比較
少于則不做任何操作.
大于則更新table_vist 。$sql = "UPDATE table_vist SET timedate = $date WHERE ip = '$ip'";
并更新table_visit;
隨便怎么做~~~~~
COOKIE也能做判斷,IP也能
就是你想怎么做了
只要單獨調(diào)出一個 公共文件,在里面做判斷是否 要 +1 就行了
?php
$cFile="count.txt";
$acctime=time();
if(file_exists($cFile)){
$fp=fopen($cFile,"r");
$str=fgets($fp,22);
fclose($fp);
$count=trim($str);
$count++;
}else{
$count=1;
}
$first=false;
if(!isset($_COOKIE['acctime'])){
setcookie("acctime",$acctime,time()+3600*24);
$first=true;
$acctime=3600*24+$acctime;
}else{
$acctime=3600*24+$_COOKIE['acctime'];
}
if($first||$acctime=time()){
$count=sprintf("%d",$count);
$fp=fopen($cFile,"w");
fputs($fp,$count);
fclose($fp);
}else{
$count--;
}
print "您是第 ".$count." 位訪客。您下次訪問計入統(tǒng)計的時間是:".date("Y-n-j H:i:s",$acctime)."。";
?
?php echo include"jishu.php"; ?
each 去掉,另外給你升華下,看看這個按照小時計算的記數(shù)器.你能學(xué)到很多對數(shù)據(jù)庫的操作,和數(shù)組\函數(shù)等基本技術(shù).努力!!
point.php
require_once("fun.php"); //包含數(shù)據(jù)庫連接和函數(shù)
/*****************************新建部分*****************************/
//檢查今天是否建立了數(shù)據(jù)
$query_d = "select * from i_visit where i_date = '$d'";
$result_d = @mysql_query( $query_d , $link_p )or die("Query Error!");
//如果沒有-------建立
if(!mysql_num_rows($result_d))
{
$i_time=cout_time();
$i_point=cout_point();
$query_in="insert into i_visit ( i_point , i_date , i_time )
values ( '$i_point' , '$d' , '$i_time' )";
@mysql_query( $query_in , $link_p ) or die("Insert error");
//echo "創(chuàng)建成功br";
}
/*****************************更新部分*****************************/
else
{
$i_data = mysql_fetch_array($result_d);
$i_p = last_p($i_data["i_point"])+1 ; //最后點數(shù)
$i_h = last_p($i_data["i_time"]) ; //最后時間
//如果最后一個時間不是現(xiàn)在時間
if($i_h != $h)
{
$i_time = cout_time();
$i_point = cout_point($i_data["i_point"],$i_h);
$query_in="update i_visit set i_point= '$i_point' , i_time= '$i_time' where i_date='$d'";
@mysql_query( $query_in , $link_p ) or die("Update error");
//echo "修改成功";
}
//如果是最后一個時間
else
{
$i_point=cout_point($i_data["i_point"],$i_h);
$query_in="update i_visit set i_point= '$i_point' where i_date='$d'";
@mysql_query( $query_in , $link_p ) or die("Update error");
//echo "當(dāng)前數(shù)字是$i_pbr"; /*****************時刻準備關(guān)閉的*/
}
}
/*****************************統(tǒng)計部分:*****************************/
$date_s=$d;$date_e=$d; //統(tǒng)計日期
$query ="select * from i_visit where i_date = '$date_s' and i_date = '$date_e' order by i_date";
$result=@mysql_query( $query , $link_p ) or die("search error");
$s_num=mysql_num_rows($result);
//日統(tǒng)計
if( $s_num == 1 )
{
$s_row=mysql_fetch_array($result);
$s_array = explode( "," , $s_row["i_point"] );
$s_avp=24;
$s_sum=array_sum($s_array);
}
//如果是多天
elseif( $s_num 1 )
{
$s_array=array();$i=0;$s_sum=0;
while ( $s_row=mysql_fetch_array($result) )
{
$temp = explode(",",$s_row["i_point"]);
$s_array[$i] = array_sum($temp);
$s_sum+=$s_array[$i]; //計算總和
$s_array[$i+1] = $s_row["i_date"]; //基數(shù)為日期,偶數(shù)為數(shù)據(jù);
$i+=2;
}
$s_avp=count_days($date_e,$date_s);
}
else
{
echo "沒有數(shù)據(jù)";
flush();
}
$s=implode(",",$s_array);
$s_sum=$s_sum; //總和
$s_max=max($s_array); //最大數(shù)
$s_count=count($s_array); //總數(shù)
$s_avp=round($s_sum/$s_avp); //平均數(shù)
@mysql_close($link_p);
?
fun.php
?php
date_default_timezone_set ('Asia/Shanghai');
$d=date("Y-m-d");
$h=date("G");
$link_p=@mysql_connect("localhost","root","00000000")or die("Connect Error");
$select=@mysql_select_db("hit",$link_p) or die ("Select Error");
//時間輸出
function cout_time()
{
global $h;
$temp="";
for( $i = 0 ; $i $h ; $i++)
{
$temp .="$i,";
}
$temp.=$h;
return $temp;
}
//點數(shù)輸出
function cout_point($x=0,$y=0) //x為要添加的字串,Y為最后時間,Z為更改數(shù)
{
global $h;
while($h-$y)
{
$y++;
$x .=",0";
}
$temp=strrpos($x , ",")?strrpos($x , ",")+1:0;
return substr( $x ,0, $temp). (substr($x,$temp)+1);
}
//最后時間
function last_p($x)
{
return substr( $x , strrpos($x , ",")+1 ) ;
}
?
你可以研究下cout_point函數(shù),如何用explode implode把它寫出來
o(╯□╰)o
1、把第14行的result前加$即$result
2、第22行的else 的函數(shù)體應(yīng)該
else{
$sql = "SELECT COUNT( * ) FROM `counter` WHERE new='1'";
$result=mysql_db_query( $mysql_database, $sql,$conn );
$row=mysql_fetch_row($result);
mysql_free_result($result);
} 吧?