Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用于删除SQL行/删除文件的复选框_Php_Sql_Delete Row - Fatal编程技术网

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

Php 用于删除SQL行/删除文件的复选框,php,sql,delete-row,Php,Sql,Delete Row,我可以成功地从数据库中提取数据,但是我现在无法使用checkbox方法删除特定行 我已经使用了很多不同的教程,包括以前的文章,但现在还没有 这是我的密码: <div id="content"> <h1>Post Bulletin</h1> <br /> <form action="insert.php" method="post"> <label for="title">

我可以成功地从数据库中提取数据,但是我现在无法使用checkbox方法删除特定行

我已经使用了很多不同的教程,包括以前的文章,但现在还没有

这是我的密码:

    <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>";
        }
    ?>

公告

标题


布告栏



当前公告栏
首先,复选框应该在标签中

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


如果您使用php来删除数据,那么您只需要遍历选中的复选框数组,并对每个数组元素(即,除了表的唯一键外,什么都没有)启动删除查询。

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

Echo "<br />" . "Delete: " . "<input name='delete[]' type='checkbox' value='" . $info['id'] . "' />" . "<br />" . "<br />";
Echo“
”。“删除:”。"" . “
”。“
”;
现在,在PHP端,您将在
$\u POST['delete']
中收到要作为数组删除的记录ID


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

您可以使用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")}
}
函数方法(索引)
{
试一试{
var rowstoDel=新数组();
var计数=0;
var recordsToDelete=新数组();

对于(var i=0;i您提交表单的代码在哪里?您的
标记应位于复选框列表之后,以确保它们被包括在内。我是否需要在复选框旁边添加一个删除按钮?简单的isset循环是否足够?您至少需要一个删除/提交按钮来提交复选框表单。您不需要
isset()
在循环中,因为
$\u POST['delete']
是要删除的记录ID的简单数组,例如
数组(4,35,384,99)
-每个数字都是要删除的行ID。