请教为什么我一次性选择多条信息进行删除的时候,只能删除其中那条id最小的那条,其他被选中的没有删除掉。管理页代码:
<form id="form1" name="form1" method="post" action="delete.php">
<?php
$mid=$_REQUEST['mid'];
$uname=$_REQUEST['uname'];
$userid=$_REQUEST['userid'];
$sql = "select * from `dede_member` order by mid desc";
require('conn.php');
while($row = mysql_fetch_array($result))
{
?>
<P><input type="checkbox" name="checkbox[]" value="<?php echo $row['mid'];?>" /><?php echo $row['mid'];?> <font color="#FF0000">‖</font> <?php echo $row['uname'];?> <font color="#FF0000"><?php echo $row['userid'];?> </font></P>
<?php
}
?>
<P><input type="checkbox" name="checkbox[]" value="<?php echo $row['mid'];?>" />全选</P>
<P><input type="submit" name="Submit" value="删除所选" /></P>
</form>
删除结果页代码:
<?php
$mid=$_REQUEST['mid'];
foreach($_REQUEST['checkbox'] as $v){
$sql="delete from `dede_member` where `mid`='{$v}'";
}
require('conn.php');
if($result){
echo "<script>alert('删除成功');location.href='delete_member.php';</script>";
}
?>
<form id="form1" name="form1" method="post" action="delete.php">
<?php
$mid=$_REQUEST['mid'];
$uname=$_REQUEST['uname'];
$userid=$_REQUEST['userid'];
$sql = "select * from `dede_member` order by mid desc";
require('conn.php');
while($row = mysql_fetch_array($result))
{
?>
<P><input type="checkbox" name="checkbox[]" value="<?php echo $row['mid'];?>" /><?php echo $row['mid'];?> <font color="#FF0000">‖</font> <?php echo $row['uname'];?> <font color="#FF0000"><?php echo $row['userid'];?> </font></P>
<?php
}
?>
<P><input type="checkbox" name="checkbox[]" value="<?php echo $row['mid'];?>" />全选</P>
<P><input type="submit" name="Submit" value="删除所选" /></P>
</form>
删除结果页代码:
<?php
$mid=$_REQUEST['mid'];
foreach($_REQUEST['checkbox'] as $v){
$sql="delete from `dede_member` where `mid`='{$v}'";
}
require('conn.php');
if($result){
echo "<script>alert('删除成功');location.href='delete_member.php';</script>";
}
?>
怎么执行的,然道 直接在 delete.php 里面写一句SQL。
然后conn.php里面执行吗?如果是这样你就要在foreach 里面引入 这个conn.php文件。
$sql="delete from `dede_member` where `mid`='{$v}'";
}因为这个循环,实际上只有一次赋值是有效的而你排序的时候order by mid desc所以,最后赋值只是给了mid最小的。
$sql="delete from `dede_member` where `mid`='{$v}'";
}
改为
$sql="delete from `dede_member` where `mid` in (". join(',', $_REQUEST['checkbox']) . ")";
这个全选实现了么??
又或者 sql in 来删除。
:
<P><input type="checkbox" onclick="checkall();"/>全选</P>//这里要把实现全选的checkall的JS函数给实现了