使用php从mysql购物车中删除项目


Deleting an item from a mysql cart with php

我正在创建一个购物车系统,并试图找到一种方法,让一个简单的按钮在按下后删除相应的行。然而,我似乎找不到一种方法来动态地使用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查询语句放入数据库,并在while循环中添加"$row['deletebutton']",但我不确定这是否一定有效。

简单的方法是创建一个新页面并将消息发送到此页面以删除项目。因此,在表中添加一个带有链接的新列

<a href="removeItemFromBasket.php?id=2">delete</a>

在页面中,您处理这个值。

要扩展发布到问题的评论,您可以将其添加到您的行中:

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']) . ")";

请记住,在查询中使用remove之前,请检查它的值。