如何在 PHP 中使用复选框正确删除多个数据库行?

Mary-Kate Olsen
发布: 2024-10-25 19:42:02
原创
210 人浏览过

How to Properly Delete Multiple Database Rows Using Checkboxes in PHP?

在 PHP 中使用复选框协作删除数据库行

面对从 MySQL 堡垒中清除多行的任务,您在编码智慧的深处寻求启蒙。在着手进行数据清理工作时,您似乎遇到了难以克服的障碍。

您编写的代码虽然意图勇敢,但未能执行其行消灭的预期目的。决心克服这个障碍,您通过向受人尊敬的编码社区展示您的代码来寻求指导:

<code class="html">// PHP witchcraft to connect to MySQL
$dbc = mysqli_connect('localhost', 'root', 'admin', 'sample') or die('MySQL is out to get you!');
$query = "select * from links ORDER BY link_id";
$result = mysqli_query($dbc, $query) or die('Whoops! Query went awry!');
$count = mysqli_num_rows($result);</code>
登录后复制
<code class="html">// Assemble your army of checkboxes
while ($row = mysqli_fetch_array($result)) {
    echo <<<HTML
<tr>
    <td><input type="checkbox" name="checkbox[]" value="$row[link_id]"></td>
    <td>$row[link_id]</td>
    <td>$row[link_name]</td>
    <td>$row[link_url]</td>
</tr>
HTML;
}</code>
登录后复制
<code class="html">// The arsenal of deletion awaits your command
if (isset($_POST['delete'])) {
    // Retrieve your checked victims
    $checkbox = $_POST['checkbox'];

    // Summon the wrath of deletion upon each victim
    foreach ($checkbox as $del_id) {
        $sql = "DELETE FROM links WHERE link_id='$del_id'";
        // Unleash the purging power!
        $result = mysqli_query($dbc, $sql);
    }

    // If successful, redirect to the crime scene
    if ($result) {
        echo '<meta http-equiv="refresh" content="0;URL=view_links.php">';
    }
}</code>
登录后复制

圣人的解决方案

唉,您的代码由于以下原因而不稳定一些关键的疏忽:

  1. 数组或单个:您的复选框输入标签缺少 [] 后缀来将它们视为数组。没有它,PHP 将无法正确识别多项选择。使用 name="checkbox[]".
  2. 数据库调用: 您的查询执行行缺少连接变量。它应该是 $result = mysqli_query($dbc, $sql);.

通过这些纠正,您的代码将像数字魔法师一样消除行。带着新的信心开始您的数据清理任务!

以上是如何在 PHP 中使用复选框正确删除多个数据库行?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板