2015-06-25 49 views
1

我想用php更新產品數量。 有一個按鈕來更新數量。 但問題是,當我第一次點擊按鈕更新數量(jumlah)數據庫獲取更新,但是當我一次又一次地點擊...數量仍然相同時,根本沒有任何變化。應該是當我點擊那個按鈕時,數量會增加到一個。的如何在php中更新記錄?

update.php

$id_penjualan=$row['id_penjualan']; 
$query="select * from tb_detail_penjualan,tb_buku where tb_buku.id_buku=tb_detail_penjualan.id_buku and tb_detail_penjualan.id_buku='$_GET[id_buku]'"; 
$stmt=$con->prepare($query); 
$stmt->execute(array(":id_penjualan"=>$id_penjualan)); 
$stmt->execute(); 
$row=$stmt->fetch(PDO::FETCH_ASSOC); 
if($row>0){ 
    $id_buku=$row['id_buku']; 
    $harga=$row['harga']; 
    $jumlah=$row['jumlah']; 
    $jmltambah=$jumlah+1; //problem 
    $subtotaltambah = $jmltambah * $harga; 
    $penjualan->update_detail_penjualan($jmltambah,$subtotaltambah,$id_penjualan,$id_buku,$id_pelanggan); 

class_penjualan.php

public function update_detail_penjualan($jmltambah,$subtotaltambah,$id_penjualan,$id_buku,$id_pelanggan) 
    { 
     try 
     { 
      $stmt=$this->db->prepare("UPDATE tb_detail_penjualan SET jumlah=:jmltambah, subtotal=:subtotaltambah WHERE id_penjualan=:id_penjualan 
               AND id_buku=:id_buku AND id_pelanggan=:id_pelanggan"); 
      $stmt->bindparam(":jmltambah", $jmltambah); 
      $stmt->bindparam(":subtotaltambah", $subtotaltambah); 
      $stmt->bindparam(":id_penjualan",$id_penjualan); 
      $stmt->bindparam(":id_buku",$id_buku); 
      $stmt->bindparam(":id_pelanggan",$id_pelanggan); 

      $stmt->execute(); 

      return true; 
     } 
     catch (PDOException $e) 
     { 
      echo $e->getMessage(); 
      return false; 
     } 
    } 
+1

'bindparam'應該讀作'bindParam'。 99%的時間,它需要一個大寫的「P」。 –

+1

是@ Fred-ii-是對的。 –

+1

在連接打開後立即添加'setAttribute(PDO :: ATTR_ERRMODE,PDO :: ERRMODE_EXCEPTION)'。你很可能會看到類似「不匹配綁定數量等等等等......」 - catch(PDOException $ e)'並不總是足夠的。 –

回答

2

,而不是在PHP做

$jmltambah=$jumlah+1; 

你可以做到這一點就在您的SQL查詢

UPDATE tb_detail_penjualan SET jumlah= jumlah + 1 ... 
+0

謝謝梅達它的工作。我將更新腳本更改爲不尋常的pdo。但你能告訴我如何使它在oop pdo中工作嗎?因爲我所有的腳本都使用了oop pdo。 非常感謝你美達.. – Ayuktia

+0

@Ayuktia這就是它。 PDO只有OOP,具有程序化的方式是mysqli。 – meda

+0

所以,我的新腳本使用mysqli甚至連接到pdo .. ?? – Ayuktia