使用php删除一个项目从一个MySQL购物车
我正在创建一个购物车系统,并试图找到一种方法来有一个简单的按钮,一旦按下删除相应的行。但是,我似乎无法找到一种方法来使用while循环来动态执行此操作。使用php删除一个项目从一个MySQL购物车
<?php
//connect to DB.
$con = mysqli_connect("localhost", "root", "", "books");
if(mysqli_connect_errno())
{
echo "Failed to connect to MySql: ". mysqli_connect_error();
}
$query = "SELECT * FROM cart WHERE customerID = '$_SESSION['id']'";
$result = mysqli_query($con, $query);
//creates a table for dumping the DB to, loops through the DB and posts the contents elegantly.
echo "<table>";
while($row = mysqli_fetch_array($result))
{
echo "<tr><td>" . $row['bookAuthor'] . "</td><td>" . $row['bookTitle'] . "</td><td>" . $row['bookPrice'] . "</td></tr>";
$totalprice += $row['bookPrice'];
}
echo "</table>";
echo "The total present price is: $".$totalprice;
//closes the conncection to the DB
mysqli_close($con);
?>
我认为试图把回声查询语句到数据库中并添加“$行[‘deletebutton’]”以while循环,但我不知道这将一定工作。
简单的方法是创建一个新页面并将消息发送到此页面以删除该项目。 因此,在表中添加一个新列的链接
<a href="removeItemFromBasket.php?id=2">delete</a>
,并在页面你把这个值。
这解决了最好的。谢谢你的建议,我一直坚持这几天。 – 2014-11-05 19:46:27
要扩大投递到问题的评论,你可以添加到您的行:
echo "<tr><td>" . $row['bookAuthor'] . "</td><td>" . $row['bookTitle'] . "</td><td>" . $row['bookPrice'] . "</td><td><input type='checkbox' name='remove[]' value='" . $row['ROW_ID'] . "' /></td></tr>";
,然后在表单提交的数据,你可以做这样的事情:
$query = "DELETE FROM cart WHERE ROW_ID IN (" . implode(',',$_POST['remove']) . ")";
请记住在查询中使用它之前检查删除的值。
嗨, 当我试图实现这个,我收到一个无效的参数警告implode。不知道如何处理复选框的输入,所以我不知道解决方法。 – 2014-11-05 19:09:58
我需要查看你的代码,看看我能否发现有什么问题。同样在我的例子中$ _POST ['remove']必须是一个数组。 – ProWebMonkey 2014-11-05 20:56:16
我不完全相信我明白你在问什么。但是,为什么你不添加一个复选框到每一行和一个更新按钮。提交脚本时,可以使用MySQL IN函数删除所有选中的项目。 – ProWebMonkey 2014-11-05 15:49:21
我会给你一个去看看它是如何工作的。这基本上是我正在尝试的。 – 2014-11-05 15:50:59