我是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获取数据来运行查询? 如果有人能指出我正确的方向,我会感谢你。
感谢。
答案 0 :(得分: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.
最后一个只会执行一个查询来删除备注,这样才能提高性能。但我创建查询的方式对我来说似乎很难看,但我对改进的事情感到非常厌倦。 :)