使用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循环,但我不知道这将一定工作。

+1

我不完全相信我明白你在问什么。但是,为什么你不添加一个复选框到每一行和一个更新按钮。提交脚本时,可以使用MySQL IN函数删除所有选中的项目。 – ProWebMonkey 2014-11-05 15:49:21

+0

我会给你一个去看看它是如何工作的。这基本上是我正在尝试的。 – 2014-11-05 15:50:59

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

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

,并在页面你把这个值。

+0

这解决了最好的。谢谢你的建议,我一直坚持这几天。 – 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']) . ")"; 

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

+0

嗨, 当我试图实现这个,我收到一个无效的参数警告implode。不知道如何处理复选框的输入,所以我不知道解决方法。 – 2014-11-05 19:09:58

+0

我需要查看你的代码,看看我能否发现有什么问题。同样在我的例子中$ _POST ['remove']必须是一个数组。 – ProWebMonkey 2014-11-05 20:56:16