Php 当日期为UNIX时间戳格式时,如何按日期分组记录?

Php 当日期为UNIX时间戳格式时,如何按日期分组记录?,php,mysql,date,unix-timestamp,Php,Mysql,Date,Unix Timestamp,我从PHP表单中得到两个日期,格式为dd-mm-yyy。 (如2013年6月1日和2013年6月30日) 现在,我使用下面的代码来显示上述日期范围内的日期结果,但它不适用于我,因为数据库中存储的日期是UNIX时间戳格式(transaction\u date bigint(12))。那么我应该如何显示按日期显示的结果呢?有人能帮我解决这个问题吗 if($form_data['from_date']!='' && $form_data['to_date']!='') {

我从PHP表单中得到两个日期,格式为dd-mm-yyy。 (如2013年6月1日和2013年6月30日) 现在,我使用下面的代码来显示上述日期范围内的日期结果,但它不适用于我,因为数据库中存储的日期是UNIX时间戳格式(
transaction\u date bigint(12)
)。那么我应该如何显示按日期显示的结果呢?有人能帮我解决这个问题吗

if($form_data['from_date']!='' && $form_data['to_date']!='') {
        $from_time  = explode("/", $form_data['from_date']);
        $to_time    = explode("/", $form_data['to_date']);

        $start_date = mktime( 0,0,0,$from_time[1],$from_time[0],$from_time[2] ) ;
        $end_date   = mktime( 23,59,59,$to_time[1],$to_time[0],$to_time[2] ) ;

        $sql  =" SELECT COUNT(*) `total count`, SUM(transaction_status = 'success') `success`, ";
        $sql .=" SUM(transaction_status = 'inprocess') `inprocess`, SUM(transaction_status = 'fail') `fail`, ";
        $sql .=" SUM(transaction_status = 'cancelled') `cancelled` FROM user_transaction ";
        $sql .=" WHERE  transaction_date >= '".$start_date."' AND transaction_date <=  '".$end_date."' GROUP BY transaction_date ";

        $this->mDb->Query( $sql);

        $queryResult = $this->mDb->FetchArray();
    }
if($form\u data['from\u date']!=”&$form\u data['to\u date']!=”){
$from_time=explode(“/”,$form_data['from_date']);
$to_time=explode(“/”,$form_data['to_date']);
$start_date=mktime(0,0,0,$from_time[1],$from_time[0],$from_time[2]);
$end_date=mktime(23,59,59,$to_time[1]、$to_time[0]、$to_time[2]);
$sql=“SELECT COUNT(*)`total COUNT`,SUM(事务状态='success')`success`,”;
$sql.=“SUM(事务状态='inprocess')`inprocess`,SUM(事务状态='fail')`fail`,”;
$sql.=“SUM(事务状态='cancelled')`cancelled`FROM user_transaction”;

$sql.=“WHERE transaction\u date>=”“$start\u date.”和transaction\u date使用
FROM\u UNIXTIME(transaction\u date)
将其作为日期类型获取。

在查询的最后一行中进行更改,并替换为以下代码:

$sql .=" WHERE  DATE_FORMAT(transaction_date,'%d-%m-%Y') >= '".$start_date."' AND DATE_FORMAT(transaction_date,'%d-%m-%Y') <=  '".$end_date."' GROUP BY FROM_UNIXTIME(transaction_date)";

$sql.=“WHERE DATE\u FORMAT(transaction\u DATE,“%d-%m-%Y”)>=”“$start\u DATE.”和DATE\u FORMAT(transaction\u DATE,“%d-%m-%Y”)我只是觉得你快了一点