首页 > 解决方案 > 获取带有文章 ID 的添加到购物车按钮 - PHP Mysqli

问题描述

当用户单击该按钮(添加到购物车)时,我使用 php mysqli 创建了简单的添加到购物车系统,他们将被重定向到查看购物车页面。问题出在哪里?我的系统运行良好,但在最后一页(查看单篇文章)我显示了几个按钮(添加到购物车)。如果我有数据库 2 产品,在最后一页(产品页面)上,我将获得 2 个按钮(添加到购物车),这就是我不需要的。我只需要显示该产品的按钮。 例子:

我有 2 个不同类别的 2 个产品,它们的链接是:

  1. https://website.com/en/product-category/product.php?id=23
  2. https://website.com/en/product-category/product.php?id=35

当用户在该页面上打开 id 为23的产品时,将显示文章23和文章35中的按钮。我不需要那个。我需要该文章的 ID为23的产品仅显示按钮。

在首页代码:

//initialize cart if not set or is unset
    if(!isset($_SESSION['cart'])){
        $_SESSION['cart'] = array();
    }

    //unset qunatity
    unset($_SESSION['qty_array']);

这是我的代码:

<?php
$conn = new mysqli('localhost', 'root', 'password', 'database');
$sql = "SELECT * FROM post";
$query = $conn->query($sql);
$inc = 4;
while($row = $query->fetch_assoc()){
$inc = ($inc == 4) ? 1 : $inc + 1; 
if($inc == 1) echo "<div class='row text-center'>";  
?>
<a href="../../../en/add_cart.php?post_id=<?php echo $row['post_id']; ?>" target="">Add to cart</a>
<?php
}
if($inc == 1) echo "<div></div><div></div><div></div></div>"; 
if($inc == 2) echo "<div></div><div></div></div>"; 
if($inc == 3) echo "<div></div></div>";
//end product row 
?>

问题出在哪里以及如何解决以仅显示单个按钮(添加到购物车)而不是全部 2 或?纽扣?

标签: phpmysqlsql

解决方案


编辑这行代码:

$sql = "SELECT * FROM post";

至:

$sql = "SELECT * FROM post WHERE post_id = '".$_GET['id']."'";

推荐阅读