Simpan data ke tabel lain di codeigniter

Mohon bantuan para master. Saya ada kasus begini, saya memiliki 2 tabel, tabel pertama (kita beri nama tabel A) dengan isi field sbb: id NoRegistrasi Ket

dan 1 tabel lagi (kita beri nama tabel B) dengan isi field sbb: id NoRegistrasi Ket

dua tabel di atas mirip/sama fieldnya namun memiliki fungsi yang berbeda: Tabel A ==> Menampung semua inputan Tabel B ==> Hanya menampung inputan jika Ket = 'Ditetapkan'

untuk Tabel A sudah kelar, permasalahannya ada pada tabel B. berikut desainnya :

tampilan di bawah ini adalah tampilan yang mana data dipanggil dari tabel A ------------------------------------------------------------------------------------- | No Urut | NoRegistrasi | Ket | Aksi | ------------------------------------------------------------------------------------- | 1 | 001 | Menunggu ditetapkan | tetapkan | tolak | | 2 | 002 | Menunggu ditetapkan | tetapkan | tolak | -------------------------------------------------------------------------------------

Penjelasan : Kolom Aksi adalah kolom yang berisi tombol/link untuk menetapkan dan ditolak - jika tombol'tetapkan' diklik maka data akan disimpan di tabel B dan record keterangan di tabel A dan B menjadi 'Sudah ditetapkan' - jika tombol 'tolak' diklik maka data di tabel A terkhusus record field Ket akan berubah menjadi 'ditolak' - Record Keterangan di tabel A selalu 'Menunggu ditetapkan'

Pertanyaannya : 1. Bagaimana cara update dan insert data secara langsung tanpa masuk ke form input hanya menggunakan link saja. 2. Saya newbie disini, saya awalnya dari Pemrograman Desktop karena kebutuhan dan zaman yang berubah saya harus migrasi ke MVC ==> CI.

Terima kasih, Jun.

avatar jungulo
@jungulo

24 Kontribusi 2 Poin

Diperbarui 5 tahun yang lalu

3 Jawaban:

Jawaban Terpilih

pakai form dengan action post:

<pre> &lt;form action="routeURLkamu" method="post"&gt; &lt;input type="hidden" id="id_dari_table_a&gt; &lt;input type="submit"&gt; &lt;/form&gt; </pre>

jad pada saat disubmit, ambil data dari dari table a, berdasrkan id yang sudah ada di form tadi. Dan masukkan / update seperti biasa

*kalau belum belajar dasar codeigniter, di kelas sekolahkoding ada. ** coba pikir lagi tablenya, kalo isiinya sama persis, lebih baik 1 table saja, tinggal tambah kolom "keterangan" yang isinya ditolak/diterima atau 0/1

avatar hilmanski
@hilmanski

2686 Kontribusi 2135 Poin

Dipost 5 tahun yang lalu

Tanggapan

Terima kasih Mas Hilman atas masukannya, kini sudah terlesaikan persoalannya. Khusus untuk 2 tabel yang sama persis ini tujuannya supaya bisa dibedakan data yang sudah ditetapkan dan yang masih belum, jadi kesannya lebih rapi. Salam

iyap, kamu bisa bikin satu table saja biar tidak boros dan tidak perlu selalu update/insert data. Tinggal tambah satu kolom "status" isinya 0 atau 1 atau statusnya :D *saranaja

ohiya kalau sudah terjawab silahkan share jawabannya di "jawaban" dan tandai ssebagai "jawabn terbaik" jadi orang lain yang punya masalah sama, bisa direfrensikan kesini, teirmakasih

pakai form dengan action post:

<form action="routeURLkamu" method="post"> <input type="hidden" id="id_dari_table_a> <input type="submit"> </form>

jad pada saat disubmit, ambil data dari dari table a, berdasrkan id yang sudah ada di form tadi. Dan masukkan / update seperti biasa

*kalau belum belajar dasar codeigniter, di kelas sekolahkoding ada. ** coba pikir lagi tablenya, kalo isiinya sama persis, lebih baik 1 table saja, tinggal tambah kolom "keterangan" yang isinya ditolak/diterima atau 0/1

avatar jungulo
@jungulo

24 Kontribusi 2 Poin

Dipost 5 tahun yang lalu

di aksi tombol masukkan link <a href="<?php echo site_url('controller/approve/'. $id)?>"><button class="tombol2">ditetapkan</button></a> <a href="<?php echo site_url('controller/unapprove/'. $id)?>"><button class="tombol2">ditolak</button></a>

lalu di controller buat kedua function function approve($id){ $tabelA=$this->model->selectTabelA($id); foreach($tabelA as $a){ $data=array("id"=>$a->id,"noRegistrasi"=>$a->noRegistrasi,"ket"=>"Ditetatpkan"); } $this->model->insertTabelB($data); $this->model->updatetabelA($id); }

function unapprove($id){ $this->model->unapprovetabelA($id); }

lalu di file model buat function yg telah dipanggil td

function selectTabelA($id){ $this->db->select("*"); $this->db->from("tabelA"); $this->db->where("id",$id); return $this->db->get()->result(); } function insertTabelB($data){ $this->db->insert("tabelB",$data); } function updateTabelA($id){ $this->db->set("ket","Ditetapkan"); $this->db->from("tabelA"); $this->db->where("id",$id); } function unapproveTabelA($id){ $this->db->set("ket","Ditolak"); $this->db->from("tabelA"); $this->db->where("id",$id); }

semoga membantu

avatar ashleenanh46
@ashleenanh46

21 Kontribusi 5 Poin

Dipost 5 tahun yang lalu

Login untuk ikut Jawaban