Kodie Hill
Kodie Hill

Reputation: 17

Deleting an item from a mysql cart with php

I'm creating a cart system and trying to find a way to have a simple button that once pressed deletes the corresponding row. However, I cannot seem to find a way to dynamically do this with while loop I currently have.

<?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); 
?>

I've considered trying to put an echo query statement into the database and adding "$row['deletebutton']" to the while loop but I'm not sure that would necessarily work.

Upvotes: 0

Views: 446

Answers (2)

Pedro Antunes
Pedro Antunes

Reputation: 200

The easy way is to create a new page and send the message to this page to delete the item. So, in the table you add a new column with a link

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

And in the page you treat this value.

Upvotes: 1

ProWebMonkey
ProWebMonkey

Reputation: 121

To expand on the comment posted to the question, you could add this to your row:

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>";

And then with the data submitted in the form you could do something like this:

$query = "DELETE FROM cart WHERE ROW_ID IN (" . implode(',',$_POST['remove']) . ")";

Keep in mind to check the value of remove before using it in queries.

Upvotes: 0

Related Questions