php - 如何在仅将该商品添加到购物车的每一行末尾编写“添加到购物车”?
问题描述
我正在我的数据库中的表格上显示书籍列表,我想在每一行的末尾添加一个“添加到购物车”按钮。我无法找出如何区分每一行,以便第 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”,他可以在其中看到他的购物车中的所有项目,甚至可以删除它们,但那是以后的事了 - 现在,我会真的很喜欢一些关于如何指示“添加到购物车”按钮以仅将用户想要的书添加到他的购物车中而不是全部的指导。如果我的问题含糊不清且不那么透明,我提前道歉。
解决方案
假设您的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
得到book
incart.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;
推荐阅读
- asp.net-core-2.0 - 如何使用.net core 配置多个 okta 服务器的身份验证?
- python - 在 python 中,如何使嵌套模块看起来没有嵌套到 import 语句中?
- java - 选项和函数的使用
- spring-boot-test - Spring MVC 测试 - 将空值作为参数传递
- python - 如何修复“AttributeError”和 OpenCV 错误
- python - 为什么我的列表不能保存 QListWidget 中的所有内容?
- mysql - 将四个表合并为两个表,并具有链接的唯一列 ID
- vue.js - vue Cesium Map 部分加载
- apache-spark - 使用 select 和 for 循环替换现有列中的值
- python - 可靠地检测 Spyder IDE