2010-11-23 3 views
1

自分のウェブサイトに、曜日と時間帯が最も活発な/ログインしている曜日を示す棒グラフを作成したいと思います。PHPとMySQLを使用してウェブサイト上で最も活発な日や時間を表示するにはどうすればよいですか?

だから私は誰かが私に彼らがこれをやる方法についていくつかのヒントを与えることができるのだろうか?どのように私はデータベーステーブルを整理すべきか、どのデータを集めるべきか、PHPを使ってバーグラフとして記録されたデータをどのように提示することができるのか。

+3

あなたが既に持っているデータを教えてください。あなたはウェブサイト訪問者を記録しますか? Googleアナリティクスなどの分析パッケージを使用していますか?等 –

+0

私の主な問題は、私のデータベーステーブルをどのように編成するかを考え出すことです。次に、PHPでログイン/訪問が発生した日時を記録し、そのデータを使用してウェブサイト上に棒グラフを表示するので、訪問者は自分のウェブサイトが何時に最も活動しているかを見ることができますチャットページ)。私はすでにあなたが持っているデータが何を意味するのか分かりません。ユニークな訪問のための – Kanonskall

答えて

0

おそらく、これを行う最も良い方法は、訪問またはログインごとに日時スタンプを保存することです。その後、巧妙なSQLクエリを使用して、必要な情報(曜日、時間帯など)をグループ化することができます。

したがって、データベーステーブルには主キーとタイムスタンプが必要ですあなたは間違いなくユーザーや行動についての情報も保存することができますが、訪問してください。

プレゼンテーションでは、Google Charts(http://code.google.com/apis/chart/)またはJavaScriptベースのチャートライブラリ(いくつかありますが、Highchartsの良い経験をしています)http://www.highcharts.com/

ps:あなたがこの投稿にMySQLとしてフラグを立てたので、私はそのデータベースを選択したと仮定しています。ここでは、使用できる表作成ステートメントを示します。

CREATE TABLE `visits` (
    `id` int(11) unsigned NOT NULL auto_increment, 
    `created` datetime NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 
+0

IP? – Robimp

+0

しかし、彼はログインに興味があると言いました.IPが一意であることを確認することなく、ページ訪問よりも正確に処理することができます。 – Chase

+0

前のハイチャートは見えませんでしたが、良いオプションのように見えます。@ Kanonskall – Robimp

0

あなた自身で行う必要があり、既存のパッケージを使用しない場合は、小さく始める。それぞれの要求、作成者、時間、リファラー、必要な情報を記録するテーブルを1つ作成するだけです。

データをログに記録したら、Google Chartsのようなものを使用したくない場合は、cssとhtmlを使用して簡単なPHPチャートを作成できます。

棒グラフは非常に簡単ですが、適切な数学が必要です。最も簡単な方法は、彼らの側でそれらを反転させることです。通常は建物のように見えますが、この場合はワームのようなチューブとして見たいと思っています。チューブの長さは、ヒット数、ページビュー数、訪問数などを表すことができます。

私はチャート全体の固定幅を定義し、棒の幅を最大値のパーセンテージを表すように変更します。最大値が1000で、このバーが500の場合は、グラフの幅の50%をバーにします。

これはあなたが正しい方向にあなたを指してくれることを願っています。このようなことをすることは、新しい概念を学ぶうえですばらしいことです。

1

サーバーログを使用して視覚化する方が簡単かもしれません。処理(http://www.processing.org/)はそのようなものでうまくいきます。または、Java以外のバージョンの場合はhttp://processingjs.org/を試してください。

あなたの質問にお答えするには、上記のように各訪問のデータ時間を保存してください(一意の訪問後にはIPも同様です)。次にレコードをプルするためのスクリプトを作成し、時間。色分けされたdivを使用し、高さをヒット数(または小数)に設定できます。実際には、これは基本的にヒットカウンターではありません。

ええ、私の助言は、処理をチェックアウトすることですが、それはピックアップするのは簡単で、見栄えの良い結果を生成します。

+0

真剣に?単純なVARチャートの処理を使用していますか? – c0rnh0li0

+1

うん、それは素晴らしいヴァーチャルチャートになるだろう。 – Robimp

関連する問題