2014-12-04 3 views
0

죄송합니다. 멍청한 php/mysql 질문입니다.php/mysql의 유닉스 타임 스탬프를 기반으로 월별 보고서를 생성

각 항목에 연결된 유닉스 타임 스탬프가있는 데이터베이스가 있습니다.

같은 구조를 가지고 있다고합시다.

| 고유 ID | 타임 스탬프 | 항목 | 구매 | 판매

그리고 몇 년에 걸쳐 항목이 있다고 가정 해 봅시다.

매월 보고서를 생성하여 각 항목 수를 계산하고 싶습니다.

PHP/MySQL에서이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

감사합니다. 항목을 나열합니다

SELECT MONTH(TimeSTamp), Item, COUNT(Buy), COUNT(Sell) FROM your_table GROUP BY MONTH(TimeStamp), Item 

이 구입 월별로 판매 :

+0

를 사용할 때 유연성을 많이 가지고 매월 PHP 스크립트를 실행하여 지정한 날짜 범위 내에서 데이터베이스의 데이터를 가져 와서 파일에 기록합니다. 이 작업을 수행하기 위해 실제 코드를 찾고 있습니까? MySQL에서는 where 절의 날짜를 비교하는 쿼리를 실행할 수 있습니다. – ksealey

+0

네,하지만 UnixTimestamp를 한 달로 변환하기 위해 mysql/php에 지능형 API가 있습니까? 내가 생각했던 방식은 PHP 스크립트가 매 달마다 계산 한 다음 루프를 작성하여 매월 데이터를 추출합니다. 그러나 더 명백한 해결책이있는 경우에 나는 방황하고 있었다 (나는 진짜로 PHP 프로그래머가 아니다) – drlobo

답변

1

당신은 같은 문으로 SQL에서 직접 보고서를 생성 할 수 있어야한다. 예를 들어 PHP를 사용하여이 구문을 실행할 수 있습니다. @mysql_query (PHP 버전의 PHP 매뉴얼 확인).

UNIX에서 다른 시간 형식으로 변환해야하는 경우 PHP 함수 getdate를 확인하십시오.

+0

그렇습니다 나는 FROM_UNIXTIME()를 사용해야하고 모두는 달콤했던 – drlobo

0

아마도이 경로를 사용하지 않고 원하는 것을 수행하기 위해 타임 스탬프 개체를 DateTime 개체로 변환하고 필요한 모든 작업을 수행합니다. 나는 당신은 날짜() 함수에서 직접 날짜를 얻을 수 있습니다

<?php 
    $time = time();//Get a timestamp. This is just for an example, you will assign the value of your timestamp here 
    $date = new DateTime(date('Y-m-d h:i:s',$time)); 
    echo $date->format('M'); //Prints out the month from the unix timestamp 
?> 

예를 들어 타임 스탬프를 사용하지만 당신은 cron 작업을 할 수있는 DateTime 개체

+0

mysql에서 당신이 FROM_UNIXTIME()를 사용할 수있는 것을 발견했다. – drlobo

관련 문제