Как вставить значение (codeigniter) - PullRequest
0 голосов
/ 22 сентября 2019

IMAGE EXAMPLE помогите, пожалуйста, я только что узнал codeigniter, у меня проблема при вставке данных.

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

когда я вставляю его в базу данных, сообщение об ошибке представляет собой данные, которые я вставил NULL

Поиск по коду

{
"result":
[
  {
       "id_runsheet":"6",
       "kd_runsheet":"RUNSHEET-0000-0003",
       "reciver_name":"arif",
       "tracking_number":"RJC-0000-0003",
       "status":"Consignee Unknown",
       "id_runsheet_detail":"6",
       "id_outdes":"3"
      },
      {
      "id_runsheet":"6",
      "kd_runsheet":"RUNSHEET-0000-0003",
      "reciver_name":"hendra",
      "tracking_number":"RJC-0000-0004",
      "status":"Closed",
      "id_runsheet_detail":"6",
      "id_outdes":"3"
      }
   ]
 }

Контроллер

public function cari(){
$id=$_POST['kd_runsheet'];
$data['result']=$this->M_inbound_undel->caridb($id);
echo json_encode($data);
}

Модель

public function save(){
    $data = array(
        'id_runsheet'           => $this->input->post('id_runsheet'),
        'id_runsheet_detail'    => $this->input->post('id_runsheet_detail'),
        'id_outdes'             => $this->input->post('id_outdes')
    );
    $this->M_inbound_undel->db_save($data);
    echo $this->session->set_flashdata('message','success');
    redirect('backend/inbound_undel');   
}

Просмотр

 <form class="form-signin" method="post" action="<?php echo base_url().'backend/inbound_undel/save';?>">
          <div class="box">
            <div class="box-header">
              <div class="row">
                 <div class="form-group col-md-2">
                  <label for="field-1" class="control-label">Tanggal</label>
                  <input name="" value="<?php echo(date('Y-m-d H:i:s')) ?>" class="form-control" type="text" placeholder="" readonly required="">
                </div>
                <div class="form-group col-md-4">
                  <label for="field-1" class="control-label">KODE RUNSHEET</label>
                  <input name="kd_runsheet" class="form-control" id="kode" type="text" placeholder="Masukan Kode Runsheet" style="" required="">
                  <span style="font-size:11px; color:#00a65a;">No resi hanya bisa tampil apabila resi sudah di Inbound</span>
                </div>      
              </div>
            </div>
          </div>

          <div class="box">
             <div class="box-body">
              <table id="databel" class="table table-bordered table-striped" style="width: 100%; cellspacing: 0;">
                <thead>
                  <tr>
                    <th>Kode Runsheet</th>
                    <th>Kode Resi</th>
                    <th>Penerima</th>
                    <th>status terakhir</th>
                  </tr>
                </thead>
                <tbody id="tbody">

                </tbody>
              </table>
              <div class="box-footer">
                <button type="submit" class="btn bg-orange btn-flat margin">Simpan</button>
              </div>
            </div>
          </div>
        </form>

AJAX

$(document).ready(function(){
$('#kode').on('input',function(){
    var kode=$(this).val(); //serach by kode
    $.ajax({
        url  : "<?php echo base_url('backend/inbound_undel/cari')?>",
        type: 'POST',
        dataType: 'JSON',
        data : {kd_runsheet: kode},
        success:function (data) {
            //result
            var result = data.result;''
            var row = "";
            for(i=0; i < result.length; i++) {
                row += "<tr>";
                  row += "<td>"+result[i].kd_runsheet+"</td>";
                  row += "<td>"+result[i].tracking_number+"</td>";
                  row += "<td>"+result[i].reciver_name+"</td>";
                  row += "<td class='label bg-red'>"+result[i].status+"</td>";
                row += "</tr>";
            }
            $('#tbody').html(row);
        }
      });
      event.preventDefault();
    });
  });

когда я вставляю его в базу данных, сообщение об ошибке представляет собой данные, которые я вставляю все NULL

1 Ответ

0 голосов
/ 23 сентября 2019

Это происходит потому, что ваша модель save() ожидала получения 3 параметров записи, но ни один из них не присутствует.
После просмотра предоставленных вами данных json вы можете сделать скрытый ввод для каждогообязательных save() параметров:

<script>
    $(document).ready(function() {
        $('#kode').on('input', function() {
            var kode = $(this).val(); //serach by kode
            $.ajax({
                url: "<?php echo base_url('backend/inbound_undel/cari') ?>",
                type: 'POST',
                dataType: 'JSON',
                data: {
                    kd_runsheet: kode
                },
                success: function(data) {
                    //result
                    var result = data.result;
                    var row = "";
                    for (i = 0; i < result.length; i++) {
                        row += "<tr>";
                        row += "<td>" + result[i].kd_runsheet + "</td>";
                        row += "<td>" + result[i].tracking_number + "</td>";
                        row += "<td>" + result[i].reciver_name + "</td>";
                        row += "<td class='label bg-red'>" + result[i].status + "</td>";
                        row += "</tr>";
                    }
                    $('#tbody').html(row);
                    // begin appended hidden inputs
                    let input = "";
                    for (i = 0; i < result.length; i++) {
                        input += "<input type='hidden' name='id_runsheet' value='" + result[i].id_runsheet + "' />";
                        input += "<input type='hidden' name='id_runsheet_detail' value='" + result[i].id_runsheet_detail + "' />";
                        input += "<input type='hidden' name='id_outdes' value='" + result[i].id_outdes + "' />";
                    }
                    $('#databel').html(input);
                    // end appended hidden inputs
                }
            });
            event.preventDefault();
        });
    });
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...