我目前正在开发一个PHP项目。我正在读取MySQL数据库中的行并将它们填充到HTML表中。
我希望能够在用户可以选择的每一行上提供一个复选框。当他们按下提交按钮时,它将检查点击了哪些复选框并将其从数据库中删除。
如何确定按下提交时单击的复选框。
感谢您提供的任何帮助。
答案 0 :(得分:1)
<input type="checkbox" name="fieldname" value="somevalue" />
将以
的身份提交给服务器fieldname=somevalue
如果选中该复选框。如果没有选中,则根本不提交任何内容。
通过为复选框指定相关的字段名,并使用数据库记录标识符填充它们的值,您将能够确切地看到检查了哪些复选框,并对相应的记录执行删除操作。
答案 1 :(得分:1)
我建议将ID加载到数组中。它将使您的PHP逻辑在后端更容易和更整洁。这是一个非常基本的例子。
<强> HTML 强>
<form action="..." method="post">
<table>
<tr><td><input type="checkbox" name="deleteId[]" value="1" /></td></tr>
<tr><td><input type="checkbox" name="deleteId[]" value="2" /></td></tr>
<tr><td><input type="checkbox" name="deleteId[]" value="3" /></td></tr>
</table>
<input type="submit" />
</form>
<强> PHP 强>
<?php
// If IDs were selected then delete from the database
if( isset($_POST['deleteId']) && count($_POST['deleteId']) > 0 )
{
$sql = 'DELETE FROM tablename WHERE id IN ('.implode(',', $_POST['deleteId']).')';
mysql_query($sql);
}
else
{
// no ids were selected
// ...
}
?>
答案 2 :(得分:0)
您可以为每个可以存储值0或1的复选框添加隐藏字段。 选择复选框时,应使用javascript更改此字段的值。 zend使用类似的方法(我的意思是隐藏的字段)。这种方法可以帮助您解决未经检查的复选框的问题。