Postingan lainnya
Gimana cara menangkap nilai sebelum di eksekusi dengan codeigniter
Agan-agan saya mau tanya nih gimana cara menangkap nilai sebelum di eksekusi dengan codeigniter. jadi saya punya kasus update jumlah stok barang :
kode_brg--nama_barang--ukuran--jumlah--tgl 1--buku--pcs--10--20/08/2018
nah ketika saya mau update stok buku misal 1, database yg berubah harusnya menjadi 11. saya udh coba cara yg <a href=' https://sekolahkoding.com/forum/cara-mengurangi-jumlah-stok-barang-di-php-1531965583 '> https://sekolahkoding.com/forum/cara-mengurangi-jumlah-stok-barang-di-php-1531965583 </a> dan <a href=' http://www.diskusiweb.com/discussion/36978/penjumlahan-dan-pengurangan-stok-barang '> http://www.diskusiweb.com/discussion/36978/penjumlahan-dan-pengurangan-stok-barang </a> cuman tidak berhasil ntah scriptnya masih salah atau enggk. misal mau di jadikan script codeigniter seperti apa kodingannya. terimakasih..
kodingan model codeigniter sebelumnya seperti ini
function uStokBrg($data = array()){
$kode_brg = $this->input->post('kode_brg');
$jumlah = $this->input->post('jumlah');
$tgl = date('Y-m-d');
$quantity_in_stock = $this->db->set('stok_brg.jumlah');
foreach($kode_brg AS $key => $val){
$data[] = array(
'kode_brg' => $kode_brg[$key],
'nama_barang' => $_POST['nama_barang'][$key],
'ukuran' => $_POST['ukuran'][$key],
'jumlah' => $jumlah[$key] + $quantity_in_stock,
'tgl_masuk' => $tgl
);
}
$this->db->update_batch('stok_brg', $data, 'kode_brg');
}
4 Jawaban:
@adjitrias
pertama ambil dulu datanya, pake query select, kalo udh tinggal tentuin stok nya mau dijumlah atau direplace.
lebih baik dibuat tabel baru lagi namanya master_data_barang,
jadi gak usah repot2 update semua rownya
contoh table master_barang
id|nama | detail| 1 |buku | untuk stok barang yang berjenis buku | 2 |pulpen| Untuk Stok Barang Yang Berjenis Pulpen|
stok_brg id | kode_brg | nama_barang | ukuran | jumlah | tgl_masuk | id_master_barang 1 | 001 | Pilot | 10cm | 30 | 2012-12-12| 2 (untuk Pulpen) 2 | 002 | Faster | 10cm | 20 | 2012-11-11| 2 (untuk Pulpen)
Nah dari tabel diatas bisa di select lalu di sum
<pre> $jumlah_pulpen = $this->db->query("SELECT sum(jumlah) FROM stok_brg where id_master_barang = 2")->row();
</pre>
Mau di buat batch apa cuma satu aja yang di update ceritanya ?
@apakel, sudah sebelumnya gan. Cuman pas saya jumlahin yg di simpan ke db malah jumlah yg saya input + jumlah yg saya input..
@demaram, gk ada cara lain gan selain 1 tabel ajh utk eksekusinya? biar lebih efisien. Tp saya coba dulu ya utk cara yg agan kasih
@markeronly, di buat batch gan soalnya data yg saya input itu dinamis. Jd bisa lebih dr 1 inputan yg saya eksekusi