1

我是 PHP 新手。因此,如果我使用愚蠢的策略,我首先道歉。我在 PHP 网站上工作。我的页面从 MySql 查询数据,并与我的复选框一起显示在 html 表中。用户可以使用复选框和按钮删除任何数据。这一切都是使用javascript完成的。这是我从 html 表中删除数据的代码

<script type="text/javascript">
function deleteRow() {
        try {
            var table = document.getElementById("Categories");
        var rowCount = table.rows.length;



        for(var i=0; i<rowCount; i++) {
            var row = table.rows[i];
            var chkbox = row.cells[0].childNodes[0];
            if(null != chkbox && true == chkbox.checked) {
                table.deleteRow(i);
                rowCount--;
                i--;
            }


        }
        }catch(e) {
            alert(e);
        }
    }

</script>

单击保存按钮 MySql 更新查询应运行以保存对页面所做的所有更改。我知道这可以通过 PHP 来完成。但这里的问题是我如何从 php 中的 html 获取数据来运行查询?如果有人能指出我正确的方向,我将不胜感激。

谢谢。

4

1 回答 1

2

您可以制作一个表单,其中包含以下复选框:<input type="checkbox" name="m_Name[]" value="id_of_element">。当您在服务器端提交此表单时,您可以执行以下操作:

foreach ($_POST['m_Name'] as $id){
    $query = 'DELETE FROM table WHERE id='.$id;
    //execute query with mysqli_*, PDO or mysql_*; NOTE: if you are not doing educational project don't use last one.
}

但更好的方法是:

$query = 'DELETE FROM table WHERE id IN (';
$in = '';

foreach ($_POST['m_Name'] as $id)
    $in .= $id.',';

$in = substr($in, 0, strlen($in)-1).')'; // removes extra "," at the end.
$query .= $in;
//run the query.

The last one wil execute only one query to delete notes so it's better for performance. But the way I've created query seems ugly to me but I am very tired to thing about improvements. :)

于 2012-07-06T11:31:56.707 回答