Множественные загруженные изображения не сохраняются с использованием l oop в codeigniter - PullRequest
0 голосов
/ 20 июня 2020

Я новичок в Codeigniter Framework. У меня есть форма, в которой пользователь выбирает название модели и выбирает изображение для значка, и в нем есть еще два поля. Эти два поля и изображение для значка являются повторяющимися полями, когда пользователь нажимает кнопку «Добавить еще», когда я показываю код формы

<div class="box box-primary ">
<div class="box-header with-border">
  <h3 class="box-title">Add Repair Type</h3>
</div>
<div class="box-body">
    <form method="post" class="parsley-form" enctype="multipart/form-data">
        <div class="row">
            <div class="col-md-12">
            <div class="row">
                <div class="col-lg-12">
                    <div class="form-group">
                        Models *</font>
                         <select name="modelid" id="modelid" class="form-control" required="">
                            <?php  if($get_models) { 
                                foreach($get_models as $model) { ?>
                                    <option value="<?=$model['id']?>"><?=$model['model_name']?></option>
                            <?php } } ?>
                         </select>
                    </div>
                </div>
            </div>
            <div class="row0">
                <table class="table">
                    <thead class="table-active">
                         <tr>
                            <th>Reapir Type Icon *</th>
                            <th>Repair Type *</th>
                            <th>Price *</th>
                        </tr>
                    </thead>
                    <tbody id="dynamic_field">
                        <tr id="row">
                            <td>
                                <input type="file" name="repair_type[0]" class="form-control" required="">
                            </td>
                            <td>
                                <input type="text" name="repair_type[0][repairtype]" class="form-control" required="">
                            </td>
                            <td>
                                <input type="text" name="repair_type[0][price]" class="form-control" required="">
                            </td>
                        </tr>
                    </tbody>
                </table>
            </div>
            <a class="btn btn-default btn-xs" href="javascript:void(0);"
                                       id="addup">
                                        <i class="fas fa-plus"></i>
                                        <?php echo lang('Add More...');?>
                                    </a>
             <br><br>
        </div>
        </div>
    <div class="row">
        <div class="col-sm-7">
            <a href="<?php echo base_url();?>panel/repair_type" class="btn btn-default" type="button"><i class="fas fa-reply"></i> Back</a>
            <button type="submit" class="btn btn-success"><i class="fas fa-plus-circle"></i>   Save
            </button>
        </div>
    </div>
    </form>
  </div>
 </div>

  <script>
  $(document).ready(function(){  
    var i=0;  
    $('#addup').click(function(){ 
       i++;  
       
       var data = '<tr id="row'+i+'">';
      data += '<td><input type="file" name="repair_type['+i+']" class="form-control" required=""></td>';
      data += '<td><input type="text" name="repair_type['+i+'][repairtype]" class="form-control" required=""></td>';
      data += '<td><input type="text" name="repair_type['+i+'][price]" class="form-control" required=""></td>';
      data += '</tr>';
      
       $('#dynamic_field').append(data);    
      });     
      }); 
   </script>

Файл контроллера

public function add() {

    if($this->input->post())
    {
        $data = array(
            'fk_modelid' => $this->input->post('modelid'),
            'sub_id' => NULL
        );


         $this->db->insert('repair_type', $data);
         $insertedID = $this->db->insert_id();
         if($insertedID)
          {
            if(isset($_FILES["repair_type"]) )
              {
                foreach ($_FILES["repair_type"]["name"] as $key => $image) 
                {

                  $_FILES['images']['name']  = $_FILES["repair_type"]['name'][$key];
                  $_FILES['images']['type']  = $_FILES["repair_type"]['type'][$key];
                  $_FILES['images']['tmp_name']  = $_FILES["repair_type"]['tmp_name'][$key];
                  $_FILES['images']['error']= $_FILES["repair_type"]['error'][$key];
                  $_FILES['images']['size']  =   $_FILES["repair_type"]['size'][$key];

                  if($_FILES['images']['name'] != "")
                  {
                    $response = $this->upload_image1("images","assets/uploads/repair_type");
                    if($response["error"] == 0)
                    {
                        $rt_insertarray["repair_type"][$key]["image"] = "repair_type/".$response["upload_data"]["file_name"];
                          
                    }
                  }

                } 
              }
         
            foreach($this->input->post("repair_type") as $repair_type)
            {
              $rt_insertarray = array(
                  "repairtype" => $repair_type['repairtype'],
                  "price" => $repair_type['price'],
                  "sub_id" => $insertedID
                );
            }
          }
          $this->db->insert_batch('repair_type', $rt_insertarray);
           $this->session->set_flashdata('success',"Repair Type added successfully." );
           //redirect('panel/repair_type', 'refresh');
    }
    $this->data["get_models"] = $this->models_model->get_models();
   $this->render('repair_type/add',$this->data);
}

Проблема заключается в том, что при использовании l oop для загрузки нескольких файлов и файлов запись не сохраняется в базе данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...