在评论部分,我想我想从数据库中删除它,但它不起作用。当用户将数量设置为0时我想要它,然后删除数据库中的项目。它只在数组中删除。
<?php
/*require_once('Connections/catalogue.php');*/
if(isset($_POST['submit']))
{
if(isset($_POST['quantity']))
foreach($_POST['quantity'] as $key => $val)
{
if($val==0)
{
unset($_SESSION['cart'][$key]);
/* $sql_delete="DELETE FROM `maklumat_belian` WHERE id_produk=id";
$result=mysql_query($sql_delete);
if ($result)
header("Location: products.php?page=cart"); */
}
else
{
$_SESSION['cart'][$key]['quantity']=$val;
}
}
}
?>
答案 0 :(得分:1)
假设$_SESSION['cart'][$key]
是数据库中的产品ID,首先需要从PHP代码中删除注释标记(/**/
)。因此,如果用当前的sql查询替换它,这应该可以工作:
if($val==0){
unset($_SESSION['cart'][$key]);
$sql_delete="DELETE FROM `maklumat_belian` WHERE id_produk=".$_SESSION['cart'][$key];
$result=mysql_query($sql_delete);
if ($result){
header("Location: products.php?page=cart");
}
}
只是一方面,我强烈建议使用像PDO这样的东西用于安全目的。使用mysql_query和直接id插入将使您面临攻击风险。只是值得深思。希望这有帮助!
答案 1 :(得分:1)
如果产品ID为$ _SESSION ['cart'] [$ key]
$id_produk = $_SESSION['cart'][$key];
如果产品ID为$ key
$id_produk = $key;
代码:
<?php
/*require_once('Connections/catalogue.php');*/
if(isset($_POST['submit']))
{
if(isset($_POST['quantity']))
foreach($_POST['quantity'] as $key => $val)
{
if($val==0)
{
unset($_SESSION['cart'][$key]);
$id_produk = $_SESSION['cart'][$key]; # Asssign the product id
$sql_delete="DELETE FROM `maklumat_belian` WHERE id_produk='$id_produk'";
$result=mysql_query($sql_delete);
/*if ($result)
header("Location: products.php?page=cart");*/
}
else
{
$_SESSION['cart'][$key]['quantity']=$val;
}
}
}
?>