Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php codeigniter中活动记录的上限_Php_Codeigniter_Activerecord - Fatal编程技术网

Php codeigniter中活动记录的上限

Php codeigniter中活动记录的上限,php,codeigniter,activerecord,Php,Codeigniter,Activerecord,我的模型中有这个函数,它的目的是从实际日期开始获取过去30天的统计数据,在我到达第30天之前它工作正常,然后我发现它从最早的日期开始计数,所以我将顺序从“ase”翻转到“desc”但它似乎仍然在最早的一天之前返回并计数,没有给我我想要的数据,所以我想知道是否有任何方法使用codeigniter并为“限制”提供一个起点,即实际日期 function graph_data($id_person) { $this->db->limit(30); // get data for

我的模型中有这个函数,它的目的是从实际日期开始获取过去30天的统计数据,在我到达第30天之前它工作正常,然后我发现它从最早的日期开始计数,所以我将顺序从“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;
}

在您的案例中,限制返回最后30行。它与日期无关,除非您每天只添加一行

尝试使用mysql


Source--

我最终找到了解决方案,给出了一个范围或天数,比实际日期提前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;

}

请参阅本页:您是否打算使用
ASC
?它不是
ase
。。。什么数据类型是日期?不,我的意思是ase,日期的类型就是表格中的日期。是否需要输入日期格式?
<?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;

}