首页 > 解决方案 > 如何在仅将该商品添加到购物车的每一行末尾编写“添加到购物车”?

问题描述

我正在我的数据库中的表格上显示书籍列表,我想在每一行的末尾添加一个“添加到购物车”按钮。我无法找出如何区分每一行,以便第 2 行的“添加到购物车”仅将第 2 行中的书添加到用户的购物车。

像这样的东西:在此处输入图像描述

这是我的搜索页面的 PHP:

<?php
        if(isset($_POST['submit-search'])){
           $search = mysqli_real_escape_string($db, $_POST['search']);
           $sql = "SELECT * FROM books WHERE title LIKE '%$search%' OR author LIKE '%$search%' OR rdate LIKE '%$search%'";
           $result = mysqli_query($db, $sql);
           $queryResult = mysqli_num_rows($result);
           if($queryResult > 0){
               while($row = mysqli_fetch_assoc($result)){
                  echo "

                  <tr>
                  <td>".$row['title']."</td>
                  <td>".$row['author']."</td>
                  <td>".$row['rdate']."</td>
                  <td><a class='cartbtn' href='cart.php?id=".$_SESSION['username']."'>Add to Cart</a></td>
                  </tr>";
               }
           } else {
            echo "There are no results matching your search";
           }
        }
    ?>

一旦用户单击添加到购物车,我想将他转移到一个页面“cart.php”,他可以在其中看到他的购物车中的所有项目,甚至可以删除它们,但那是以后的事了 - 现在,我会真的很喜欢一些关于如何指示“添加到购物车”按钮以仅将用户想要的书添加到他的购物车中而不是全部的指导。如果我的问题含糊不清且不那么透明,我提前道歉。

标签: phpmysql

解决方案


假设您的books表有一个名为的主键列id(如果没有调用它,请将下面的内容替换id$row['id']它所调用的内容)

<td><a class='cartbtn' href='cart.php?id=".$_SESSION['username']."&book_id=".$row['id']."'>Add to Cart</a></td>

然后你可以id得到bookincart.php

// Get the  ID of the book we're adding to the cart
$book_id = $_GET[ 'book_id' ];

// Code to add to cart here, e.g. 
$_SESSION[ 'cart_items' ][] = $book_id;

推荐阅读