2016-06-27 12 views
0

foreachループで選択オプションの値を投稿できないのはなぜですか?最後の選択オプション値を保存するだけです。foreachのオプションを選択最後の選択オプション(コードイグナイター)の値を取得

これは、プリンタの「Rutinitas」値(最後の選択オプション)を保存するだけですが、CPUまたはマウスの「Rutinitas」オプション値は保存しません。

これは、このビュー

<div class="container"> 
    <h4> Buat Pengecekan Baru </h4> 
    <form method="post" action="simpanPengecekan"> 
    <div style="border-bottom : solid black 1px;margin-bottom:30px;"> 
    <div class="row row-form"> 
     <div class="col-md-2"> <label class="control-label"> Tanggal Pengecekan </label> </div> 
     <div class="col-md-10"><input type="text" name="tgl_cek" class="form-control datepicker" value="<?php echo $tgl_cek; ?>"></div> 
    </div> 
    <div class="row row-form"> 
     <div class="col-md-2"> <label class="control-label">Nama Alat</label> </div> 
     <div class="col-md-10"> 
     <input type="text" name="nama_alat" class="form-control" value="<?php echo $nama_alat; ?>" readonly> 
     </div> 
    </div> 
    <a href="../operator/tambahPengecekan"><button type="button" class="btn btn-primary"> Pilih Alat </button></a> 
    </div> 
     <h6>Komponen</h6> 
     <?php $no=0;foreach($hasil as $row) { ?> 
     <div> 
      <input type="hidden" name="id_komponen" id="id<?php echo +$no;?>" class="form-control" value="<?php echo $row->id_komponen;?>" disabled> 
      <p> <?php echo $row->nama_komponen;?> </p> 

      <button type="button" class="btn btn-primary" onClick="javascript:showhide('pengecekan','<?php echo +$no;?>')"> Isi Pemeriksaan </button>  

      <div id="pengecekan<?php echo +$no;?>" style="display:none;"> 

     <div class="row row-form"> 
      <div class="col-md-2"> <label class="control-label"> Rutinitas </label> </div> 
      <div class="col-md-10"> 
      <select name="rutinitas" class="form-control"> 
       <option value="Harian"> Harian </option> 
       <option value="Mingguan"> Mingguan </option> 
       <option value="Bulanan"> Bulanan </option> 
       <option value="3 Bulanan"> 3 Bulanan </option> 
       <option value="6 Bulanan"> 6 Bulanan </option> 
       <option value="Tahunan"> Tahunan </option> 
      </select> 
      </div> 
     </div> 
     <div class="row row-form"> 
      <div class="col-md-2"> <label class="control-label"> Kriteria </label> </div> 
      <div class="col-md-10"><input type="text" class="form-control" name="kriteria"></div> 
     </div> 
     <div class="row row-form"> 
      <div class="col-md-2"> <label class="control-label"> Tindakan </label> </div> 
      <div class="col-md-10"><input type="text" class="form-control" name="tindakan"></div> 
     </div> 
      <input type="submit" class="btn btn-primary" value="Simpan"> <br><br><br> 
     </div> 
     </div> 
     <?php $no++; } ?>   
    </form> 
     <br><a href="../operator"><button type="button" class="btn btn-wide btn-primary btn-batal">Selesai</button></a> <br> <br> 
     <a href="../operator"><button type="button" class="btn btn-wide btn-default btn-batal">Batal</button></a> 

</div> 

これは

THis is the model

モデルであるコントローラ

public function tampilkanKomponen2($tgl_cek,$nama_alat) { 
    if($this->session->userdata('logged_operator')) { 
     $session_data = $this->session->userdata('logged_operator'); 
     $nip = $session_data['nip']; 
     $nama = $session_data['username']; 
     $hasil = $this->operator_model->getByAlat($nama_alat)->result(); 
     $hasil2 = $this->operator_model->showPengecekan()->result();  
     $data =array (
      'nip' => $nip, 
      'nama' => $nama, 
      'hasil2' => $hasil2, 
      'hasil' => $hasil, 
      //'hasil2' => $hasil2, 
      'tgl_cek' => $tgl_cek, 
      'nama_alat' => $nama_alat 
      //'id_komponen2' =>$id_komponen 
     ); 
     $this->load->view('tambah_pengecekan3_v',$data); 
    } 
    else { 
     echo "<script> history.go(-1); </script>"; 
    } 
} 

public function simpanPengecekan() { 
    if($this->operator_model->check_logged()==TRUE) { 
     $session_data = $this->session->userdata('logged_operator'); 
     $nip = $session_data['nip']; 
     $id_komponen = $this->input->post('id_komponen'); 
     $tgl_cek = $this->input->post('tgl_cek'); 
     $rutinitas = $this->input->post('rutinitas'); 
     $kriteria = $this->input->post('kriteria'); 
     $tindakan = $this->input->post('tindakan'); 
     $nama_alat = $this->input->post('nama_alat'); 

     $data =array (
      'id_komponen' => $id_komponen, 
      'tgl_cek' => $tgl_cek, 
      'rutinitas' => $rutinitas, 
      'kriteria' => $kriteria, 
      'tindakan' => $tindakan, 
      'operator' => $nip 
     ); 
     $hasil = $this->operator_model->tambahPengecekan($data); 
     //redirect(base_url('operator')); 
     $this->tampilkanKomponen2($tgl_cek,$nama_alat); 
     //redirect_back(); 
    } 
    else { 
     echo "<script> history.go(-1); </script>"; 
    } 
} 

あります


このは、あなたがテーブルの同じ列内のすべての選択した値を挿入したい場合は、その後implodeを使用

This is the result in database

+0

これは、ループを作成しているときに選択コントロールが内部にあるので、**重複している名前**を取得しているからです。 'rutinitas'に同じ名前の2回がある可能性がありますので、投稿しません。あなたの選択コントロールに一意の名前が付いていることを確認してください。 'rutinitas_1'のようなものを追加することができます。 –

+0

' rutinitas'の名前を 'rutinitas []'のような配列に変更する必要がありますか? @RajJagani – Deni

+0

複数選択されたオプションがある場合は、 'rutinitas []'配列のような名前を付けることができますが、単一の値を送信する場合は一意の名前を付ける必要があります。 –

答えて

0

変更選択名rutinitas[]

<select name="rutinitas[]" class="form-control"> 
      <option value="Harian"> Harian </option> 
      <option value="Mingguan"> Mingguan </option> 
      <option value="Bulanan"> Bulanan </option> 
      <option value="3 Bulanan"> 3 Bulanan </option> 
      <option value="6 Bulanan"> 6 Bulanan </option> 
      <option value="Tahunan"> Tahunan </option> 
     </select> 

に、データベース内の結果であり、

$rutinitas = implode(',',$this->input->post('rutinitas')); 
+0

を保存しますが、名前rutinitasをrutinitas []に変更しようとするとエラーになります。どのように各アレイの価値を得るには? 、1054 tb_pengecekan' 'INTO 'フィールドリスト' INSERT不明な列 'アレイ'(' id_komponen'、 'tgl_cek'、' rutinitas'、 'kriteria'、' tindakan':これはエラー エラー番号です'operator')VALUES( '87'、 '2016-06-07'、Array、 ''、 ''、 '789') ファイル名:C:/xampp/htdocs/kilatv2/system/database/DB_driver.php 行番号:691 – Deni

+0

配列をカンマ区切り値 –

+0

にする 'implode( '、$ this-> input-> post(' rutinitas '))'を使うことができないので、更新された答えを参照してください – Vinie

関連する問題