Вставить несколько флажков из datatable codeigniter ajax

#jquery #json #ajax #codeigniter #checkbox

#jquery #json #ajax #codeigniter #флажок

Вопрос:

Я хочу вставить несколько файлов из таблицы библиотеки, используя эту таблицу datatable . Я хочу спросить, выбираю ли я данные на странице 1 и странице 2, единственные данные, вставляемые в базу данных, только данные на странице 1. Я отправил данные с помощью ajax контроллера, а в контроллере я использую json_encode для отправки ответа

Вы знаете, как это исправить?

Вот код просмотра:-

 <form id="f_data2">
<!-- ID -->
<input type="hidden" name="college_id" class="college_id">
<input type="hidden" name="courses_id" class="courses_id">

    <div class="table-responsive">
        <table class="table table-hover dataTables">
            <thead class="thead-light">
                <th width="5%">Choose</th>
                <th width="20%">Document Type</th>
                <th width="20%">Document Format</th>
                <th width="30%">Document Title</th>
                <th width="25%">Description</th>
            </thead>
            <tbody>
                <?php $no=1;foreach($library as $libs): ?>
                <tr>
                    <td>
                         <input type="checkbox" name="material[]" value="<?=$libs->id?>" >
                    </td>
                    <td><?=$libs->name?></td>
                    <td>
                        <?php if($libs->icon != ''): ?>
                            <i class="fas <?=$libs->icon;?>"></i>
                        <?php endif;?>
                    </td>
                    <td><?=$libs->title?></td>
                    <td><?=$libs->description?></td>
                </tr>
                <?php endforeach;?>
            </tbody>
        </table>
    </div>
    <div class="col-sm-4" style="margin-right: -110px !important;"> 
        <button type="submit" class="btn btn-primary"><i class="fa fa-save"></i>Save</button>   
    </div>
 

Вот код jQuery:-

 $('form#f_data2').submit(function(e){
      e.preventDefault();
      var formData = new FormData(this);
      $.ajax({
          url : url   'Material/save_from_lib',
          type: 'POST',
          data: formData,
          success: function (data) {
              var jsonData = JSON.parse(data);
              var material_id = jsonData.material_id;

              if(jsonData.success){

                alert("Success");
                var direct = "url";
                location.href = url   direct;

                // location.reload();

              }else{
                alert('Failed');
              }
          },
          cache: false,
          contentType: false,
          processData: false
      });
    });
 

Вот код контроллера:-

  public function save_from_lib(){

    $_id = $this->input->post('college_id');
    $time= $this->input->post('time');

    $material = $this->input->post('material');
    if(isset($material)){
        foreach ($material as $key => $material_id) {
            $data['college_id']  = $college_id;
            $data['material_id'] = $material_id;
            $data['start_time']   = $time;
            $data['created_by']    = $this->session->userdata('user_id');
            $this->model->insert($data);
        }

        $result['success'] = true;
        $result['college_id'] = $college_id;
    }else{
        $result['success'] = false;
    }

    echo json_encode($result);
}
 

Комментарии:

1. пожалуйста, покажите нам вашу проблему с помощью screnshoot или картинки.

2. откуда time и material какие входные данные поступают в контроллер и, пожалуйста, покажите нам код модели??

3. привет, @KUMAR, проблема, если я хочу добавить данные со страницы 1 и страницы 2, только 1 данные, которые вставляются в базу данных, даже показывают предупреждение success

4. код модели обычный, return $this->db->insert('table', $data);

5. что такое страница 1 и страница 2, ??