-2

ここで過去 2 日間のレコードを取得する方法は私のクエリですが、エラーが発生しています。

function getbdologHistoryByRefManuals($obj)
{
    $this->db->select('bdo_logs.*,transaction_statuses.status');
    $this->db->from('bdo_logs');
    $this->db->join('transactions','transactions.id=bdo_logs.id');
    $this->db->join('transaction_statuses','transaction_statuses.id=transactions.trans_status_id');
    $this->db->where('log_date >', ADDDATE( CURDATE( ) , INTERVAL -2 DAY ));

    $query = $this->db->get();

    //echo $this->db->last_query();
    if($query->num_rows() == 0){
        return null;
    }

            return $query->result();
}
4

2 に答える 2

2

簡単な方法:

$today = date('Y-m-d');
$newdate = date('Y-m-d', strtotime("-2 days"));
echo $today;
echo '<br />';
echo $newdate;

さて、$newdatewhere 条件を入れます。

于 2013-04-25T08:22:50.440 に答える
2
function getbdologHistoryByRefManuals($obj)
{
    $this->db->select('bdo_logs.*,transaction_statuses.status');
    $this->db->from('bdo_logs');
    $this->db->join('transactions','transactions.id=bdo_logs.id');
    $this->db->join('transaction_statuses','transaction_statuses.id=transactions.trans_status_id');
    $this->db->where('DATE(log_date) >', 'ADDDATE( CURDATE( ) , INTERVAL -2 DAY )');

    $query = $this->db->get();

    if($query->num_rows() == 0){
        return null;
    }

    return $query->result();
}

where句でADDDATE関数をラップすることがありません

編集:
または、このように呼び出すこともできます

$query  ="  SELECT
                bdo_logs.*,
                transaction_statuses.status
            FROM bdo_logs
            JOIN transactions 
                ON transactions.id  =   bdo_logs.id
            JOIN transaction_statuses 
                ON transaction_statuses.id  =   transactions.trans_status_id
            WHERE DATE(log_date) > ADDDATE( CURDATE( ) , INTERVAL -2 DAY )";
$result = $this->db->query($query); 
于 2013-04-25T07:07:45.933 に答える