下面的代码!给我复选框和删除按钮,在输入标签中所有复选框都有相同的名称(勾选)!!可以从具有id的数据库中检索复选框。
问题是::当我选择多个复选框进行删除时...只删除最后一个复选框!意味着它可以从数据库中删除1个数据。
url like - > http://localhost/demo/delete.php?check=10&check=13&check=14&submit=Delete
我需要选中一个复选框以上的复选框,复选框数据从数据库中删除!任何人都帮助我克服这个问题,谢谢
的index.php
<?php
$sql = mysql_connect('localhost', 'root', '');
mysql_select_db('database_section', $sql);
?>
<form name="checkbox" method="get" action="delete.php">
<table>
<tr>
<?php
$sql = "select * from data";
$result = mysql_query($sql) or die(mysql_error());
while ($row = mysql_fetch_array($result))
{
?>
<td><input type="checkbox" name="check" value="<?php echo $row['id']?>"><?php echo $row['data'];?>
</td>
<?php
}
?>
<tr>
<td><input type="submit" name="submit" value="Delete"></td>
</tr>
</table>
</form>
现在,在下面的delete.php..code中......
<?php
$sql = mysql_connect('localhost', 'root', '');
mysql_select_db('database_section', $sql);
if ($_REQUEST['submit']) {
$abc = $_GET['check'];
$sql = "Delete from data where id=$abc";
$result = mysql_query($sql) or die(mysql_error());
if (isset($result)) {
echo "data deleted";
}
else
{
echo "not possible";
}
}
?>
答案 0 :(得分:2)
使用复选框作为数组持有者。将其命名为check []以保存所有选定的值。在帖子上,您将获得所选的数组列表。
现在你的$ abc将是一个数组,在delete.php中使用foreach来获取已检查的id。
答案 1 :(得分:1)
将name="check"
更改为name="check[]"
答案 2 :(得分:0)
[...]
while ($row = mysql_fetch_array($result))
{
?>
<td>
<input type="checkbox" name="check[]" value="<?php echo $row['id']?>"><?php echo $row['data']; ?>
</td>
<?php
}
?>
[...]