我正在创建一个购物车系统并试图找到一种方法,只需按下一个简单的按钮即可删除相应的行。但是,我似乎找不到使用while循环动态执行此操作的方法。
<?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);
?>
我考虑过将一个echo查询语句放入数据库并添加&#34; $ row [&#39; deletebutton&#39;]&#34;对于while循环,但我不确定这一定是否有效。
答案 0 :(得分:1)
简单的方法是创建一个新页面并将消息发送到此页面以删除该项目。 因此,在表格中添加一个带有链接的新列
<a href="removeItemFromBasket.php?id=2">delete</a>
在页面中你会看到这个值。
答案 1 :(得分:0)
要展开发布到问题的评论,您可以将其添加到您的行中:
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']) . ")";
在查询中使用它之前,请记住检查删除的值。