2016-12-19 4 views
0
public function index(){ 
    $this->load->model(array('msellproduct','minvoice')); 
    $invoice=$this->minvoice->get_many_by(array('vendor_id'=>$this->cuseridentity->get_data('id'),'create_time'=>date("Y-m-d"))); 
    $week=$this->minvoice->get_many_by(array('vendor_id'=>$this->cuseridentity->get_data('id'),'create_time' =>" DATE_SUB(".date('Y-m-d').",INTERVAL 1 WEEK)")); 
    $month=$this->minvoice->get_many_by(array('vendor_id'=>$this->cuseridentity->get_data('id'),'create_time'=>"DATE_SUB(".date("Y-m-d").",INTERVAL 1 Month")); 
    $product=$this->msellproduct->get_many_by(array('vendor_id'=>$this->cuseridentity->get_data('id'))); 
    var_dump($week); 
    $this->_render('index', array(
     'model' => null, 
     'product'=>$product, 
     'invoice'=>$invoice, 
     'week'=>$week, 
     'month'=>$month, 
    )); 
} 

В приведенной выше функции я получаю ежедневный отчет. Это правильно, но я не получаю еженедельный и ежемесячный отчет.Как получить ежедневный, еженедельный и ежемесячный отчет в codeigniter

+0

Улучшенный орфографический и снятый нижний колонтитул. – rekire

ответ

0

Получить и преобразовать дату с помощью PHP и поставить (передать) только дату, а не функции даты SQL. Например:

public function index(){ 
    $this->load->model(array('msellproduct','minvoice')); 
    $invoice=$this->minvoice->get_many_by(array('vendor_id'=>$this->cuseridentity->get_data('id'),'create_time'=>date("Y-m-d"))); 
    //Calculate date here if your SQL is taking just date 
    $week_date = strtotime(date("Y-m-d"))-(7*24*60*60); 
    $month_date = strtotime(date("Y-m-d"))-(30*24*60*60); //you can get days in the current month too 
    $week=$this->minvoice->get_many_by(array('vendor_id'=>$this->cuseridentity->get_data('id'),'create_time' =>date("Y-m-d",$week_date))); 
    $month=$this->minvoice->get_many_by(array('vendor_id'=>$this->cuseridentity->get_data('id'),'create_time'=>date("Y-m-d",$month_date))); 
    $product=$this->msellproduct->get_many_by(array('vendor_id'=>$this->cuseridentity->get_data('id'))); 
    var_dump($week); 
    $this->_render('index', array(
     'model' => null, 
     'product'=>$product, 
     'invoice'=>$invoice, 
     'week'=>$week, 
     'month'=>$month, 
    )); 
} 

Скорее всего, ваш запрос занимает даты так сделать это просто просто вычислить дату с помощью PHP и передать эту дату вашего SQL, если ваш SQL просто принимать параметр даты такой же, как в день. Согласно ежедневному отчету, что я получил, ваш SQL занимает просто дату. На вашем пути это тоже можно сделать, но на данный момент без вашего кода SQL это легко сделать таким образом.

+0

, пожалуйста, отправьте свой SQL-запрос, чтобы я мог сделать хороший код – webDev

Смежные вопросы