1

私のウェブサイトhttp://www.deerpages.coのすべての動的ページに表示するヒット カウンターまたは訪問数を配置したいと考えています。私はPHPとMySQLを使用しています。しかし、挿入された行ごとにすべての追跡を入れたら、そのテーブルはすぐにいっぱいになると考えています。

これを行うことができる外部の方法はありますか?つまり、Google Analytics や Alexa のような追跡タイプですか? それらを表示できますか?

どんな助けでも大歓迎です。

どうもありがとう!

4

1 に答える 1

1

コンテンツにページ カウンターを配置するときは、毎回新しい行を挿入するのではなく、データベース内のカウンターの値を変更します。

テーブルが次のようになっていると仮定します。

contentTable
+------+---------+
| ID   | Counter |
|------|---------|
| 1    | 35      |
| 2    | 54      |
+------+---------+

次のように、ID が 1 の行を更新できます。

update contentTable set Counter=Counter+1 where ID=1;

各ページをデータベース内の ID にリンクすると仮定します。すべてのコンテンツを同じデータベース テーブルに簡単に保持することもできます。

編集:各訪問者に関する他のデータを保存する場合は、次の行に沿って個別の hitCounter テーブルを作成します。

    CounterTable
+----+---------+----------+---------|
| ID | Counter | HTTP_REf | Country |
|----+---------+----------+---------|
| 1  | 46      | SomeData | USA     |
| 2  | 28      | Data2    | Aus     |
+----+---------+----------+---------+

次のようなユーザーの個々のデータ列に基づいて、必要に応じてデータを更新します。 insert into counterTable (ID, Counter, HTTP_Ref, Country) values (null, 1, '".$HTTP_REF."', '".$country."') On Duplicate Key update set counter=counter+1;

(ID、HTTP_Ref、および国のキーを想定)

そうは言っても、データベース上のスペースを使用することを検討することをお勧めします(実際には、「テーブルを埋める」には多くのヒットが必要になります)か、単に基本カウンターを国をリストする統計テーブルで分割することをお勧めします、リファラーなどを別のテーブルに。

于 2012-07-12T11:07:21.710 に答える