如何在codeignitier中使用post进行日期搜索

时间:2017-02-20 07:52:26

标签: ajax codeigniter

亲爱的专家需要帮助首先在codeigniter中查看我的视图代码:

 <div class="form-group">
      <label for="tglawal" class="col-sm-2 control-label">Periode</label>
     <div class="col-sm-3">
      <div class="input-group date">
      <div class="input-group-addon">
       <i class="fa fa-calendar"></i>
      </div>
     <input type="date" class="form-control" name="tglawal" id="tglawal">                 
    </div>
   </div>
   <div class="col-sm-3">
       <div class="input-group date">
         <div class="input-group-addon">
           <i class="fa fa-calendar"></i>
         </div>
        <input type="date" class="form-control" name="tglakhir" id="tglawal1">                 
       </div>
  </div>
</div> 

这是我的型号代码:

private function _get_datatables_query()
    {       
        //add custom filter here
        if($this->input->post('tglawal'))
        {
        $this->db->where('b.tglawal', $this->input->post('tglawal'));
        }
            if($this->input->post('tglakhir'))
            {
                $this->db->where('b.tglakhir', $this->input->post('tglakhir'));
            }
    }
public function get_datatables()
    {
        $this->_get_datatables_query();
        if($_POST['length'] != -1)
        $this->db->limit($_POST['length'], $_POST['start']);
        $query = $this->db->get();
        return $query->result();
    }

和我的控制器,如果我得到重要的代码是:

public function index()
    {
        $this->load->helper('url');
        $this->load->helper('form');
        $this->load->view('infokunjungan_view', $data);  
        } 
        else redirect(base_url());
    }

    public function ajax_list()
    {
    $list = $this->Infokunjungan->get_datatables();
    $data = array();
    $no = $_POST['start'];
    foreach ($list as $infokunjungan) {
            $no++;
            $row = array();
            $row[] = "<td style='vertical-align:middle'><center>{$no}<center></td>";
    $row[] = "<td style='font-size:9px; vertical-align:left;'>{$infokunjungan->tglawal}<center></td>";
    $row[] = "<td style='font-size:9px; vertical-align:left;'>{$infokunjungan->tglakhir}<center></td>";
    $output = array(
            "draw" => $_POST['draw'],
            "recordsTotal" => $this->Infokunjungan->count_all(),
            "recordsFiltered" => $this->Infokunjungan->count_filtered(),
            "data" => $data,                        
                );
        //output to json format
        echo json_encode($output);      
    }

问题是如果在两个日期tglawal和tglak​​hir之间搜索

我在2016-12-04和2016-12-04之间使用输出显示将为空 但如果在2016-12-04和2016-12-06之间使用输出成功我的问题在哪里或者我在哪里或者我必须使用?

1 个答案:

答案 0 :(得分:1)

您需要使用&gt; =和&lt; =运算符。

在您的模型中尝试以下内容。

if($this->input->post('tglawal'))
 {
    $this->db->where('b.tglawal >=', $this->input->post('tglawal')); //assuming this is your begining (from) date
 }
 if($this->input->post('tglakhir'))
 {
  $this->db->where('b.tglakhir <=', $this->input->post('tglakhir')); //assuming this is your end(to) date
 }

以上内容将搜索日期,包括所选日期。 根据开始和结束变量使用运算符。