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 ";

avatar abubakar
@abubakar

72 Kontribusi 19 Poin

Diperbarui 5 tahun yang lalu

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?

avatar kikimf
@kikimf

91 Kontribusi 78 Poin

Dipost 5 tahun yang lalu

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>

avatar dianarifr
@dianarifr

642 Kontribusi 316 Poin

Dipost 5 tahun yang lalu

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

Login untuk ikut Jawaban