Postingan lainnya
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.
3 Jawaban:
Jawaban Terpilih
pakai form dengan action post:
<pre> <form action="routeURLkamu" method="post"> <input type="hidden" id="id_dari_table_a> <input type="submit"> </form> </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
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
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