簡體   English   中英

使用PHP(使用HTML表)從數據庫中刪除行

[英]Delete row from database using PHP (using a HTML table)

我正在表單上執行“刪除”功能。 我不太開心,因為它不起作用! 我已經試過這段代碼:

     while($row = $result->fetch_assoc())
     {

     $ordernr = $row['ordernr'];
     $klantnaam = $row['klantnaam'];
     $productnaam = $row['productnaam'];
     $productid = $row['productid'];

     echo "<tr>";
     echo "<td width='150px'>" . $ordernr . "</td>";
     echo "<td width='150px'>" . $klantnaam . "</td>";
     echo "<td width='300px'>" . $productnaam . "</td>";
     echo "<td width='100px'>" . $productid . "</td>";

     echo "<td align='center' width='50px'><input name='delete[$ordernr]' type='checkbox'></td>";

     echo "</tr>";
     }

     echo "<tr>";

     echo "<td><input type='submit' name='verwijderen' value='Verwijderen'/></td>";
     echo "</tr>";
     echo "</table>";
     echo "</form>";

     $delete = $_POST['delete'];

     if (isset($_POST['verwijderen'])) {
         foreach($delete as $ordernr => $delete)
         {
             $ordernr = mysqli_real_escape_string($ordernr);
             $query = mysqli_query("DELETE FROM overzicht WHERE ordernr= $ordernr");
         }
     }

你們知道我做錯了嗎?

提前致謝!

1)

echo "<td align='center' width='50px'><input name='delete[$ordernr]' type='checkbox'></td>";

轉換為

echo "<td align='center' width='50px'><input name='delete' type='checkbox' value='$ordernr'></td>";

2)

foreach($delete as $ordernr => $delete)
do it:
foreach($delete as $ordernr => $del)

您正在覆蓋$ _POST

您在這里重復使用變量時要進行迭代:

foreach($delete as $ordernr => $delete)

第二個$ delete會覆蓋第一個$ delete的值,並在工作中拋出一個扳手。

我建議將$ delete的先前實例重命名為$ deleteList並執行以下操作:

foreach($ deleteList as $ ordernr => $ delete)

請記住,您的許多代碼可以用更合適的不同方式完成。 在學習PHP的過程中,您會發現它們。

mysqli_query語法為

mysqli_query($con,"your query");

我會說您的輸入復選框需要一個值。 喜歡

<input type="checkbox" name="delete[1]" value="1" />

另一方面,這樣會更容易

<input type="checkbox" name="delete[]" value="$ordernr" />

然后你循環

foreach ($_POST["delete"] as $id) delete(id)

查詢中的con變量...

$query = mysqli_query($con,"DELETE FROM overzicht WHERE ordernr= $ordernr");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM