所以我正在制作这个网站,我在我的数据库中获得了一些数据。使用php将数据自动读入表中。每个表行也会自动获得一个复选框。现在我想检查复选框,然后按删除键,它会从数据库中删除已检查的数据。有什么想法吗?
这是我的代码:
<table width="600" border="1" cellpadding="1" cellspacing="1">
<tr>
<th>Username</th>
<th>Paswoord</th>
<th>Delete</th>
</tr>
<?php
while($user = mysql_fetch_assoc($records)){
echo "<tr>";
echo "<td>".$user['UserName']."</td>";
echo "<td>".$user['Pass']."</td>";
echo "<td> <input type='checkbox' name='checkbox' value='checked'</td>";
echo "</tr>";
}
?>
</table>
<form method= "POST" action="deleteuser.php">
<input type="submit" name="delete" value="DELETE USERS">
</form>
这是我删除user.php
中的代码$checked = $_POST['checkbox'];
if($_POST['checkbox'] == "checked"){
echo "SUCCEEEEEEES";
}
答案 0 :(得分:1)
这就是我经常做的事情: -
对while循环进行这些更改。
<?php
$c=0;
while($user = mysql_fetch_assoc($records)){
$c++
echo "<tr>";
echo "<td>".$user['UserName']."</td>";
echo "<td>".$user['Pass']."</td>";
echo "<td> <input type='checkbox' name='checkbox-$c' value='checked'</td>";
echo "</tr>";
}
echo "<input type='hidden' name='total' value='$c'>";
?>
deleteuser.php(通过for循环访问此处的所有复选框)
<?php
for($i=1;$i<=$_POST['total'];$i++)
{
if($_POST['checkbox-$i'] == "checked")
{
//commands for delete
}
}
?>
答案 1 :(得分:1)
有几件事需要注意;
<form>
标记的语法和正确方法。<input>
。<form>
字段
checkbox[]
而不是一个checkbox
的数组。您的代码
<form method= "POST" action="deleteuser.php">
<table width="600" border="1" cellpadding="1" cellspacing="1">
<tr>
<th>Username</th>
<th>Paswoord</th>
<th>Delete</th>
</tr>
<?php
while($user = mysql_fetch_assoc($records)){
echo "<tr>";
echo "<td>".$user['UserName']."</td>";
echo "<td>".$user['Pass']."</td>";
echo "<td> <input type='checkbox' name='checkbox[]' value='checked'</td>";
echo "</tr>";
}
?>
</table>
<input type="submit" name="delete" value="DELETE USERS">
</form>
PHP
而不是使用它;
if($_POST['checkbox'] == "checked"){
echo "SUCCEEEEEEES";
}
?>
使用此功能;
<?php
foreach($_POST['checkbox'] as $val)
{
echo $val . " this should be deleted";
}
?>
答案 2 :(得分:0)
将复选框的名称从checkbox
重命名为checkbox[]
。现在你得到一个数组而不是一个字符串。
然后将value-attribute设置为表中您的行ID(主键或您需要删除它们)
echo "<td> <input type='checkbox' name='checkbox[]' value='".$user["UserID"]."'</td>";
现在你可以用PHP迭代它们了
foreach ($_POST["checkbox"] as $value){
// ..Delete FROM ... where userID = $value
}