2013-03-09 51 views
0

我正在执行下面的代码输出。但我得到一个数据less.Is我的下面的代码是错误的?
同样的查询与正确的变量我执行到我的sql查询浏览器我得到6个结果。但从我的* 下面的代码我只得到5个结果 *
这种魔法背后的原因是什么?无法从我的codeigniter查询代码得到正确的输出

public function get_all_book_list_ByCreatedDateDSC($limit, $start,$sortsesval) 
    { 
    $id=0; 
    $this->load->helper('date'); 
    $datestring = "%Y-%m-%d: %d:%h:%i"; 
    $time = time(); 
    $today=mdate($datestring, $time); 
    $pasttime=date("Y-m-d H:i:s", strtotime("-7 days")); 
    printf('$today='.$today); printf('$pasttime='.$pasttime); 

    $this->load->database(); 
    $this->db->limit($limit, $start); 
    $this->db->select('*'); 
    $query =$this->db->join('coverdetails', 'coverdetails.cover_id = bookdetails.cover_id')->where('quantity >', $id)->where("bookdetails.created_date BETWEEN '$pasttime' AND '$today'")->get('bookdetails'); 
    print_r('no or rows='.$query->num_rows());//output no or rows=5 

     if ($query->num_rows() > 0) 
     { 
      foreach ($query->result() as $row) 
      { 
       $data[] = $row; 
      } 
      return $data; 
     } 
    return false; 
    } 

请帮我解决我的问题。

回答

1

更改您的功能这样的代码

public function get_all_book_list_ByCreatedDateDSC($limit, $start,$sortsesval) 
{ 
    $this->load->helper('date'); 
    $this->load->database(); 

    $id   = 0; 
    $datestring = "%Y-%m-%d: %d:%h:%i"; 
    $time  = time(); 
    $today  = mdate($datestring, $time); 
    $pasttime = date("Y-m-d H:i:s", strtotime("-7 days")); 



    return $this->db 
       ->select('*'); 
       ->join('coverdetails', 'coverdetails.cover_id = bookdetails.cover_id') 
       ->where('quantity >', $id) 
       ->where("bookdetails.created_date BETWEEN '$pasttime' AND '$today'") 
       ->limit($limit, $start) 
       ->get('bookdetails'); 
       ->result_array(); 
} 

也为测试使用$this->db->last_query()并复制查询比它粘贴到PHP MyAdmin测试。其他可能性是$limit$offsetBetween,这可能会导致记录数量的变化。

+0

谢谢。问题是我的'$ start'限制是错误的。我在发送'1'这就是为什么我收到一个结果少。我学习了新的东西'$ this-> db-> last_query()',这将在未来帮助我很多 – 2013-03-09 14:42:19

+0

欢迎您!阅读[Codeigntier用户指南数据库类](http://ellislab.com/codeigniter/user-guide/database/index.html)。这会帮助你很多。 – 2013-03-10 11:17:29