2010-11-23 2 views
1

내 웹 사이트에 요일과 시간대가 가장 많은 활동/로그인을 보여주는 막대 다이어그램을 만들고 싶습니다.PHP와 MySQL을 사용하여 웹 사이트에서 가장 활동이 많은 요일과 시간을 어떻게 표시 할 수 있습니까?

그래서 누군가가 내게이 작업을 수행하는 방법에 대한 팁을 줄 수 있는지 궁금합니다. 데이터베이스 테이블을 구성하는 방법, 수집 할 데이터 및 PHP를 사용하여 막대 그래프로 기록 된 데이터를 표시하는 방법.

+3

이미 가지고있는 데이터를 알려주십시오. 웹 사이트 방문자를 기록합니까? Google 애널리틱스와 같은 애널리틱스 패키지를 사용하고 있습니까? 등 –

+0

내 주요 문제는 내 데이터베이스 테이블을 구성해야하는 방법을 알아내는 것입니다.그런 다음 PHP를 사용하여 로그인/방문이 발생한 날짜와 시간을 기록하고 해당 데이터를 사용하여 웹 사이트에 막대 그래프를 표시하므로 내 방문자가 내 웹 사이트가 가장 많은 시간 (예 : 채팅 페이지). 내가 가진 데이터가 무엇을 의미하는지 모르겠습니다. 고유 방문에 대한 – Kanonskall

답변

0

아마 가장 좋은 방법은 방문 또는 로그인 할 때마다 날짜 시간 스탬프를 저장하는 것입니다. 그런 다음 영리한 SQL 쿼리를 사용하여 원하는 정보 (요일, 시간대 또는 다른 요일)를 그룹화 할 수 있습니다.

따라서 데이터베이스 테이블에는 기본 키와 타임 스탬프가 필요할 것입니다. 방문 할 수 있지만 사용자 나 행동에 관한 정보도 확실히 저장할 수 있습니다.

프리젠 테이션을 위해 Google Charts (http://code.google.com/apis/chart/) 또는 자바 스크립트 기반 차트 라이브러리를 사용해보십시오 (거기에는 몇 가지가 있습니다. 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

전에 highcharts를 보지 못했지만, 좋은 옵션처럼 보입니다. @ Kanonskall – Robimp

0

직접해야하며 기존 패키지를 사용하지 않아야합니다. 작게 시작하십시오. 각 요청, 작성자, 시간, 리퍼러 등 원하는 정보를 기록하는 테이블 하나를 작성하기 만하면됩니다.

데이터를 기록한 후에도 Google 차트와 같은 것을 사용하고 싶지 않으면 css 및 html로 간단한 PHP 차트를 만들 수 있습니다.

막대 다이어그램은 매우 쉽지만 일부 계산이 정확해야합니다. 가장 쉬운 방법은 그들 편으로 그들을 뒤집는 것입니다. 일반적으로 건물과 같이 보이지만,이 경우에는 웜처럼 보이는 튜브가 필요합니다. 튜브의 길이는 히트 수, 페이지 뷰 수, 방문 수 등을 나타낼 수 있습니다.

전체 차트의 고정 너비를 정의하고 막대의 너비를 변경하여 최대 값의 백분율을 나타냅니다. 따라서 최대 값이 1000이고이 막대가 500이면 막대의 너비를 차트 너비의 50 %로 만듭니다.

올바른 방향으로이 메시지가 표시되기를 바랍니다. 이처럼 뭔가를하면 새로운 개념을 배우는 데 아주 좋습니다.

1

서버 로그를 사용하여 시각화를 수행하는 것이 더 쉬울 수도 있습니다. 처리 (http://www.processing.org/)는 그런 식으로 훌륭하거나 http://processingjs.org/을 Java가 아닌 버전으로 시도하십시오.

언급 한 바와 같이 귀하의 질문에 답하기 위해 각 방문에 대한 데이터 시간을 저장하고 (고유 한 방문 이후에도 IP를 기록한 다음) 레코드를 가져오고 각각을 위해 스크립트를 작성하십시오 시간. 히트 수 (또는 분수)로 설정된 높이로 채색 된 div를 사용할 수 있습니다. 실제로 이것은 기본적으로 히트 카운터가 아닙니다.

그래, 내 조언은 처리를 체크 아웃하는 것입니다, 그것은 데리러 쉽게 좋은 결과를 생산하고 있습니다.

+0

심각하게? 간단한 var 차트에 대한 처리 사용? – c0rnh0li0

+1

그래, 좋은 var 차트가 될거야. – Robimp

관련 문제