2011-01-26 50 views
0

嘿傢伙們,我正在尋找一個好幾個小時的答案,但無法找到我要找的東西!PHP/SQL單頁查看次數計數器

如果我有一個動態的網站(也許新聞)我有以下鏈接

../domain.com/?newsid=1

../domain.com/?newsid= 2

../domain.com/?newsid=3等。

現在我會對每個本頁面的個人櫃檯..

所以我會檢查每一個訪問者,如果有人正在閱讀「新聞1」20次,它也應該只計算一次。 =>也許與IP或Cookie。

這應該是一個功能,我可以包括到PHP代碼像<? pageviews(ID)?>

我從來沒有像吼聲的事。希望有人可以幫助我,並給我一些提示如何我可以編寫這樣的腳本(我是php新手btw)

回答

1

你應該考慮在你的新聞表中使用計數器字段,以便當有人打開時newsid = 1例如,你這樣做:

$newsid = intval($_GET['newsid']); 
mysql_query("UPDATE news set counter=counter+1 WHERE id=$newsid"); 
+0

嘿嘿,是啊,但如何我可以檢查用戶是否是「新訪問者」,或者在過去幾小時內是否已閱讀過此新聞? – whocares 2011-01-26 16:18:18

1

我發現http://talkerscode.com/webtricks/create-a-simple-pageviews-counter-using-php-and-mysql.php一個偉大的文章讓我簡短的代碼創建一個行的表數和頁面,然後編寫代碼

$user_ip=$_SERVER['REMOTE_ADDR']; 

$check_ip = mysql_query("select userip from pageview where page='yourpage' and userip='$user_ip'"); 
if(mysql_num_rows($check_ip)>=1) 
{ 

} 
else 
{ 
    $insertview = mysql_query("insert into pageview values('','yourpage','$user_ip')"); 

    $updateview = mysql_query("update totalview set totalvisit = totalvisit+1 where page='yourpage' "); 
}