2016-12-19 4 views
1

нужно создать таблицу, которая заполняется данными с помощью AJAX с указанными ниже кодами:значения Pass модели от контроллера

ВИД:

<form class="form-inline" id="form_filter" method="POST"> 
          <label for="date_from">From </label> 
          <input type="date" name="date_from"> 

          <label for="date_to">&nbsp;&nbsp;To </label> 
          <input type="date" name="date_to"> 

          <input type="button" name="btn_view_records" value="Filter Date" class="btn btn-success btn-sm" id="btn_view_records"> 
         </form> 

$('#btn_view_records').click(function(){ 
     $.ajax({ 
      type:"POST", 
      data:$('#form_filter').serialize(), 
      datataype:"JSON", 
      url:"<?php echo site_url('pakyaw/get_filtered_data');?>", 
      success:function(data){ 
       $("#log-list").html(data); 
      } 
     }); 
    }); 

КОНТРОЛЛЕР:

public function get_filtered_data(){ 
     $this->load->library('table'); 

     $this->table->set_heading('Bio Id', 'Log Date', 'Time In', 'Time Out', 'Time Rendendered'); 
     $style = array('table_open' => '<table class="table table-striped table-hover">'); 
     $this->table->set_template($style); 
     echo $this->table->generate($this->model_pakyaw->get_filtered_data($this->session->userdata('branch_name'), $this->input->post('date_from'), $this->input->post('date_to'))); 
    } 

МОДЕЛЬ:

public function get_filtered_data($branch_name, $date_from, $date_to){ 
     $this->output->enable_profiler(TRUE); 

     $str2="select bio_id as 'bio_id', cast(attendance as date) as 'Log Date', min(attendance) as 'time_in', max(attendance) as 'time_out', timediff(max(attendance), min(attendance)) as 'difference' 
      FROM delwater_downydb.pakyaw_attendance 
      WHERE attendance > '".$date_from."' 
      GROUP BY bio_id, cast(attendance as date) 
      ORDER BY bio_id, cast(attendance as date) desc;"; 
     $query=$this->db->query($str2); 
     return $query->result_array(); 
    } 

Когда я нажимаю на btn_view_records, он не фильтрует результаты. Я проверил, и я видел, что date_from не передается. Синтаксис sql получает значение '', поэтому он не фильтруется правильно. Не могли бы вы рассказать мне, что я делаю неправильно. Благодарю.

+0

код не выглядит неправильно. вы можете показать 'var_dump ($ _ POST)'? – weirdo

+0

Как это реализовать? Извините, в основном новый для PHP .. – Ibanez1408

+0

, когда я это делаю "print_r ($ _ POST); die();" Это просто ... «Array()» – Ibanez1408

ответ

0

Типично в вашем аякс-звонке?

datataype:"JSON", должен быть dataType:"JSON",

0

передать переменные, назначенные на сообщение значения или попытаться напечатать значения POST в модели.

print_r($_POST); //in model 

$from_date = $this->input->post('date_from');//in model 
$date_to= $this->input->post('date_to');//in model 

$result = $this->table->generate($this->model_pakyaw->get_filtered_data($from_date, $date_to, $any_other_variable);// in controller 

print_r($result);// in controller 

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

  • Нет связанных вопросов^_^