верхний предел для активных записей в codeigniter - PullRequest
1 голос
/ 18 марта 2012

У меня есть эта функция в моей модели, цель которой состоит в том, чтобы получить статистику за последние 30 дней, начиная с фактического дня, она работала нормально до того, как я достиг 30-го дня, затем я узнал, что она считает от самой старой даты , поэтому я переключил order_by с «ase» на «desc», но, похоже, все еще возвращаюсь и считаю до самого раннего дня и не предоставляю мне те данные, которые мне нужны, поэтому мне интересно, есть ли способ использовать codeigniter и дать начало указать на «предел», который должен быть фактической датой.

function graph_data($id_person)
{
    $this->db->limit(30);   // get data for the last 30 days including the curent day

    $this->db->where('personid',$id_person);
    $this->db->order_by('date', 'ase');
    $query = $this->db->get('stats');   

    foreach($query-> result_array() as $row)
    {
     $data[] = $row;
    }    
    return $data;
}

Ответы [ 2 ]

1 голос
/ 19 марта 2012

Я наконец нашел решение, указав диапазон или дни, за 29 дней до фактического дня, без использования BETWEEN, и это прекрасно работает

<?php
function graph_data($id_person)
{   
$today = date('Y-m-d');
$lastdate = date('Y-m-d', strtotime('-29 days', strtotime($today)));// 30 days ago

$this->db->where('personid',$id_person);
$this->db->where("date <= '$today'");
$this->db->where("date >= '$lastdate'");
$this->db->order_by('date', 'ase');

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

$data = array();

foreach($query-> result_array() as $row)
{
 $data[] = $row;
}    

return $data;

}
1 голос
/ 18 марта 2012

предел возвращает в вашем случае последние 30 строк.Это не имеет ничего общего с датами, если только вы не добавляете строку каждый день.

попробуйте использовать mysql Между

SELECT  DATE_FORMAT(create_date, '%m/%d/%Y')
FROM    mytable
WHERE   create_date BETWEEN SYSDATE() - INTERVAL 30 DAY AND SYSDATE()
ORDER BY create_date ASC

Источник - https://stackoverflow.com/a/2041619/337055

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...