2011-08-09 5 views
0

내 웹 사이트의 차트를 보여주는 데 하이 차트를 사용하고 있습니다. "advertising_clicks"라는 데이터베이스 테이블이 있습니다. 나는이 테이블의 데이터를 하이 차트에 넣기를 원합니다. 그러나, 나는 새로운 날이 올 때 데이터를 분리하길 원합니다.데이터베이스에서 데이터를 정렬하여 차트에 사용합니다. PHP

내 데이터베이스의 그림 :

series: [{ 
       name: 'Clicks', 
       data: [1, 2, 3] 
      }], 

에서 하루를 설정하는 방법 : http://awesomescreenshot.com/0cfia2md0

방법은 highchart에서 (발견 행 #)를 클릭 #을 넣어이 방법입니다 highcharts이 방법에 : 나는 일 X 번호로, 데이터를 제한 할

xAxis: { 
        categories: ['Today', '09-06', '10-06'] 
       }, 

.

저는 Arrays로 생각하고 있었지만, 어떻게해야할지 확신이 없습니다. 도와주세요! :)

+0

어떤 DB 엔진입니까? – ain

답변

1

날짜 열을 필터링하여 일 수를 제한 할 수 있습니다 (예 : WHERE 'date' BETWEEN x AND y). 일일 데이터를 얻으려면 GROUP BY 'date'을 사용하십시오. 그래서 쿼리는 당신이 차트를 생성 할 날짜 범위

SELECT 
    count(id) AS Clicks, 
    date AS categories 
FROM advertisement_clicks 
WHERE date BETWEEN x AND y 
GROUP BY date 
ORDER BY date DESC 

같은 교체 xy 될 것이다.

또는 x지난일은 다음 WHERE 대신 date BETWEEN x AND y에서

date >= CURRENT_DATE - INTERVAL x DAY 

(MySQL의 가정) 사용을 위해 당신은 정말 항상 쿼리합니다. 경우

date 열이 MySQL을 GROUP BY DATE(date)

형식 ("카테고리"레이블) 클라이언트 측에서 날짜를 가정하면 그룹의 날짜 부분을 추출해야 가리키고 타임 스탬프, 즉, 그것은보다 쉬울 것 그것은 SQL에서 (대부분의 엔진이 날짜 작성 기능을 지원하지만).

+0

정확하게 동일한 타임 스탬프에서 발생한 클릭 만 집계하지 않습니까? SQL과 클라이언트에서 날짜 처리와 집계를 둘 다 수행해야한다고 생각합니다. – abeyer

+0

'date' 열에는 날짜 만 들어 있다고 가정합니다. 타임 스탬프이면 실제로 그룹화를 위해 날짜 부분을 추출해야합니다. – ain

+0

그의 스크린 샷은 원시 유닉스 타임 스탬프가 날짜 열로 보이는 것을 보여줍니다. – abeyer

관련 문제