簡體   English   中英

使用復選框從MySQL數據庫刪除行

[英]Delete Rows from MySQL Database Using Checkboxes

我正在嘗試使用MySQL表生成的數據從表中刪除一行。 我看了兩個問題: 如何使用復選框 刪除 數據庫結果行,以及如何 使用復選框PHP和MySQL刪除多行 我理解了兩個答案,但是遇到了一個問題。 每個問題都有其復選框設置,如下所示:

<input name="checkbox[<?php echo $row['id']?>]"

<input name="checkbox[]" type="checkbox" value="<?php echo $row['topic_id'];?>">

我無法在我的代碼中使用其中任何一個,因為我的表是在php中生成的,並且在我的代碼中使用方括號和引號(准確地說是復選框名稱或值屬性)會在Sublime中引發語法錯誤。 我想知道是否有任何解決方法?

這是我桌子的一部分:

<tbody>
    <?php
        $query = mysqli_query($db, "SELECT * FROM SOISInventoryList WHERE numInStock = 0 ORDER BY itemName");

        if(!$query){
            echo "Could not grab query.";
        }

        else{
            while($row = mysqli_fetch_assoc($query)){
                echo "<tr>";
                echo "<td class='strikeOut'>" . $row['itemName'] . "</td>";
                echo "<td class='strikeOut'>" . $row['numInStock'] . "</td>";
                echo "<td class='strikeOut'>" . "$" . $row['pricePerUnit'] . "</td>";
                echo "<td class='delete'>" . "<input type='checkbox' name='delete'>";
                echo "</tr>";
            }                                
        }
    ?>
</tbody>

任何形式的幫助或建議,都應表示贊賞。

您不必將自己與那里使用的確切語法聯系在一起。 您可以輕松地將整個數組傳遞給JavaScript,並在頁面上呈現出來。 最后,您真正需要的每個復選框是“是否已選中”,如果是,則“分配給它的ID是什么?”。

然后,當您將其發布回PHP時,可以確定如何處理該信息。 例如,刪除具有該ID的行。

語法問題(簡而言之)是由於您正在使用echo命令單獨打印出每一行HTML而引起的。 對於您要執行的任務類型,請嘗試使用其他語法

<?php while($row = mysqli_fetch_assoc($query)) : ?>
  <tr>
    <td class='strikeOut'> <?= $row['itemName'] ?> </td>
    (other TDs)
    <td class='delete'><input type='checkbox' name='delete[<?= $row['id']?>]'></td>
  </tr>
<?php endwhile ?>

以這種方式打印HTML可以省去很多麻煩(而且看起來更好)!

暫無
暫無

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

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