我工作的蛋糕的網站,用戶可以在自己的車加蛋糕按下刪除車排。然後,他們的購物車摘要將顯示在此頁面中。目前,我只能從數據庫生成購物車摘要。我需要允許用戶點擊所需的刪除按鈕,並能夠從數據庫中刪除相應的購物車行。
PHP代碼
// To display the summary
$pick = "SELECT bname,quantity,price,sum FROM cart WHERE user_id LIKE '$search'";
$result1 = mysqli_query($conn, $pick);
$counting = 1;
if (mysqli_num_rows($result1) > 0) {
echo "<table align='center' class='summarytbl'>";
echo "<tr><th>No</th><th>Book Title</th><th>Price</th><th>Quantity</th><th>Total Price</th><th>Delete Order</th></tr>";
while($row = mysqli_fetch_assoc($result1)) {
echo "<tr><td>".$counting."</td><td>".$row['bname']."</td><td>".$row['price']."</td><td>".$row['quantity']."</td><td>".$row['sum']."</td><td><button type='button' class='delete' name=".$row['bname']." value=".$row['quantity'].">Delete</button></td></tr>";
$counting++;
}
echo"</table><br/><br/><br/>";
echo "<table align='center' class='new'>";
echo "<tr><td>Total Price</td><td>".$total."</td></tr>";
echo "<tr><td>Discount</td><td>".$discount."</td></tr>";
echo "<tr><td>Postage</td><td>".$postage."</td></tr>";
echo "<tr><td><b>Nett Price</b></td><td><b>".$nett."</b></td></tr>";
echo"</table>";
}
我希望用這個說法來獲得按鈕的價值(數量)和姓名(名稱餅)從表中刪除一行。但是,它不工作。請幫助,謝謝。
if(isset($_POST['delete']))
{
$command = "DELETE FROM cart WHERE bname= ".$row['bname']." AND quantity=".$row['quantity'];
mysqli_query($conn,$command);
}
您應該首先[修復所有這些SQL注入漏洞](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)。 – Mike
接下來,我沒有在數據庫中看到任何'user'列。如果你有多個用戶呢?如果你刪除'WHERE bname ='something'',你將刪除**全部**用戶。還有,在你添加一個'user'字段到那個查詢/表格後,什麼東西可以防止某人輸入另一個用戶的ID並從他們的購物車中添加或刪除? – Mike
將'quantity'添加到查詢中是沒有用的,因爲大概'bname'和'user_id'(或者你想調用它的任何東西)是唯一的。所以你應該在這兩個上添加一個[唯一索引](http://stackoverflow.com/questions/635937/how-do-i-specify-unique-constraint-for-multiple-columns-in-mysql)。 – Mike