Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
Mengupdate stok yang sudah di jumlah
jadi gini kasusnya
saya ingin mengurangi stok KODE BGR010 yaitu tangerang gudang
tangerang gudang -> GDG002 ada 150 adalah hasil jumlah dari data yang saya tandai warna kuning
dan ketika saya kurangi stok 100, 2 data itu menjadi data menjadi -50
padahal datanya kan kalau di total ada 150 saya hanya mengurangi stok 100
ini codenya
$quantityend = "SELECT * FROM txpurchaseinvoice_detail WHERE ftkodeBarang =$kode
AND ftKodePenyimpanan=$gudang";
$quantitiend = mysqli_query($link, $quantityend) or die('gagal menampilkan data');
$end = mysqli_fetch_assoc($quantitiend);
$hitung = $end['fnQuantityEnd'] - str_replace("'"," ",$quantitypesan);
$kurang = "UPDATE txpurchaseinvoice_detail SET fnQuantityEnd='".$hitung."'
WHERE ftkodeBarang=$kode
AND ftKodePenyimpanan=$gudang ";
Tanggapan
biasakan menampilkan kode kamu, orang tidak bisa tebak salahnya dimana
sudah di update
2 Jawaban:
$end['fnQuantityEnd'] akan mengambil row terakhir (query "SELECT * FROM txpurchaseinvoice_detail WHERE ftkodeBarang =$kode AND ftKodePenyimpanan=$gudang" akan menghasilkan 2 row) dimana value nya 50(row ke 3), saya tidak tau $quantitypesan dapat darimana tebakan saya value nya 100 jadi 50 kurang 100 sama dengan -50, kemudian kamu mengupdate fnQuantityEnd menjadi hasil pengurangan tadi (-50) dimana ada 2 row yg kamu update yaitu row pertama dan row ketiga karena kedua nya sesuai dengan clause mu (WHERE ftkodeBarang=$kode AND ftKodePenyimpanan=$gudang)hasil nya row pertama dan row ketiga fnQuantityEnd bernilai -50, kenapa kode barang dan kode gudang yang sama bisa ada 2 row?benarkah suatu barang yang sama dan di gudang yang sama stock nya bisa ada 2 angka 50 dan 100? kenapa tidak jadi dijadikan 1 row saja langsung 150?
Tanggapan
iya bang gabisa saya jadikan satu karena ini trabel transaksi bukan tabel barang
kalo disum? jadi dijumlahkan dulu, baru dikurangi <pre> $quantityend = "SELECT SUM(fnQuantityEnd) AS fnQuantityEnd FROM txpurchaseinvoice_detail WHERE ftkodeBarang =$kode AND ftKodePenyimpanan=$gudang"; </pre>
Tanggapan
kan ada 2 data bang gimana
kan data nya di sum jadi satu pas di update kan ada 2 data apa kerubah nya sesuai?
coba dulu aja gan, selama kodebarang dan kodegudang sama bisa keupdate semua