2016-08-31 3 views
-1

ich will Lager Produkt verringern, wenn Transaktionen abgeschlossen ist, versuche ich mit foreach von Daten, sondern der Bestand verringert wird nicht korrektden Bestand zu verringern, wenn die Transaktion codeigniter abgeschlossen ist

REGLER:

for ($i=0; $i < $count ; $i++) { 

//SAVE DETAIL PENJUALAN 
$data[] = array(
    'nonota'  => $this->input->post('nonota',TRUE), 
    'id_brg'  => $this->input->post('kd_brg',TRUE)[$i], 
    'nama_brg' => $this->input->post('nama',TRUE)[$i], 
    'jml_brg' => $this->input->post('jml',TRUE)[$i], 
    'harga_brg' => $this->input->post('harga',TRUE)[$i], 
); 

//DELETE CART 
$cart[] = array(
    'rowid' => $this->input->post('rowid',TRUE)[$i], 
    'qty' => 0 
); 

$update[] = array(
'id' => $this->input->post('kd_brg',TRUE)[$i], 
'stok' => 'stok' - $this->input->post('jml',TRUE)[$i] 
); 


$this->M_penjualan->updatestock($update,'tbl_barang'); 

} 

MODELL

function updatestock($update) { 
     $this->db->update_batch('tbl_barang',$update,'id'); 
    } 
+0

Wo ist der Code der Verringerung der Lager? –

+0

Funktion updatestock ($ update) { $ this-> db-> update_batch ('tbl_barang', $ update, 'id'); } –

Antwort

0

1. Vielleicht Produkte IDs sind nicht die gleichen wie die, die Sie von der Iteration erhalten.

2.Take einen Blick auf diese Zeile:

'stok' => 'stok' - $this->input->post('jml',TRUE)[$i] 

Sie ändern Wert eines Strings, weil 'Stok' eine Zeichenfolge ist. Es wäre etwas anderes, wenn Sie $stok - $this->input... machen würden. Natürlich, wenn der Bestand eine Nummer darstellt.

3.Also würde ich zuerst versuchen, mit einem einfachen Update zu aktualisieren. $this->db->set('stok', 'stok-'.$stok, false); - irgendwo in Ihrer Modellfunktion.

Verwandte Themen