用于删除 SQL 行/删除文件的复选框


Checkbox to delete SQL row / Delete file

我可以成功地从数据库中提取数据,但是现在使用复选框方法删除特定行时遇到问题。

我已经在这里使用了许多不同的教程,包括以前的帖子,但它仍然不存在。

这是我的代码:

    <div id="content">
    <h1>Post Bulletin</h1>
    <br />
    <form action="insert.php" method="post">
        <label for="title">Title</label>
            <br />
        <input type="title" name="title" id="file" required="required" placeholder="Bulletin Title" />
        <br />
        <br />
        <label for="bulletin">Bulletin</label>
            <br />
        <textarea id="bulletin" name="bulletin" id="bulletin" rows="10" cols="50" required="required" placeholder="Bulletin Message"></textarea>
        <br />
        <input type="submit" />
    </form>
    <br/ >
    <br/ >
    <h3>Current Bulletin Posts</h3>
    <?php 
        require('connect.php');
        $data = mysql_query("SELECT * FROM bulletins ORDER BY Date_Entered DESC")
            OR die("Can't access bulletins table. " . "<br />". mysql_error());
        while($info = mysql_fetch_array($data)) 
        {                             
            Echo "<br />" . "Delete: " . "<input name='checkbox[]' type='checkbox' id='checkbox'/>" . "<br />" . "<br />";
            Echo $info['Title'] . "<br />" . "<br />";
            Echo $info['Bulletin'] . "<br />" . "<br />";
            Echo "Posted at " . $info['Date_Entered'] . "<br />" . "<br />";
            Echo "<hr>";
        }
    ?>

我已创建复选框,但无法处理删除。

我认为"if isset"语句就足够了吗?如何将 ID 分配给复选框数组?

使用行 ID 作为复选框的value,这是将提交给 PHP 端的内容。

Echo "<br />" . "Delete: " . "<input name='delete[]' type='checkbox' value='" . $info['id'] . "' />" . "<br />" . "<br />";

现在,在 PHP 端,您将收到记录 ID 以 $_POST['delete'] 中的数组形式删除。

此外,您的复选框必须包含在表单中才能提交。

首先,复选框应该在标签中。

之后,您需要将value属性设置为复选框,该复选框将是该复选框的唯一键以及表行的唯一键。

如果您使用 php 删除数据,那么您只需要浏览选定的复选框数组并为每个数组元素触发删除查询(即除了您的表唯一键之外什么都没有)。

您可以使用 EXTJS 显示从数据库中获取的记录,然后只需添加以下代码即可删除所有选定的复选框行。

function delMethod(index)
{
try{
    var rowstoDel=new Array();
    var count=0;
    var recordsToDelete = new Array();
    for (var i=0; i <store2.getCount(); i++){
    var rec=store2.getAt(i);
    if (rec.get("MappingGrid")==index){
    recordsToDelete[recordsToDelete.length] = rec; 
    rowstoDel[count]=i;
    count++;      
    }
    }
for (var i=0; i <recordsToDelete.length; i++){
    store2.remove(recordsToDelete[i]);
    }
for (var j=rowstoDel.length-1;j>=0;j=j-1)
{
myData2.splice(rowstoDel[j],1);
}
}catch(e){alert("unable to delete")}
}