2011-01-26 112 views
0

おい、みんな今、良い答えを探していましたが、私が探しているものが見つかりませんでした!私は、動的なウェブサイト(多分ニュース)をお持ちの場合PHP/SQLの単一ページビューカウンタ

は、私には、以下のリンク

../domain.com/?newsid=1

../domain.com/?newsid=ました2

../domain.com/?newsid=3など。

今私は、このページのそれぞれに個別のカウンタを持っているでしょう。..

だから私はすべての単一の訪問者をチェックし、もし誰かが "ニュース1"を20回読むのであれば、それは1回だけカウントするべきです。 =>たぶんIPまたはCookieで。

それは私が、私はこのようなものをthougth決して<? pageviews(ID)?>

ようなPHPコードに含めることができる機能である必要があります。誰かが私を助け、私にこのようなスクリプトを書く方法を教えてくれることを願っています(私はPHP newbie btwです)

答えて

1

誰かが開いたときにニュースフィールドにカウンタフィールドを使用することを検討してください。たとえば、あなたがこれを行う:

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

を書くが、どのようにユーザーが「新しい訪問者」であるか、または直近の時間にこのニュースを既に読んでいるかどうかを確認できますか? – whocares

+1

これは、次のようなセッションで行うことができます。$ _SESSION ["news_ $ newsid"] = true;それが真であるかどうかを確認し、データベースを更新しないでください。 – PLuS

+0

は少しブレーンストーミング=>誰かがクッキーをブロックした場合に起こりますか? – whocares

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' "); 
}