我想通过我使用pdo的方式更新php中的产品数量。 有一个按钮来更新数量。 但问题是,当我第一次点击按钮更新数量(jumlah)数据库获得更新时,但当我一次又一次地点击时......数量仍然相同,根本没有变化。应该是当我按下那个按钮时,数量会增加到一个。
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;
}
}
答案 0 :(得分:2)
而不是在PHP中执行
$jmltambah=$jumlah+1;
您可以在SQL查询中正确执行
UPDATE tb_detail_penjualan SET jumlah= jumlah + 1 ...