删除多条记录的问题用户管理页面,删除单条的记录我现在已经掌握了,可是如何一次删除多条记录呢?我知道用循环,但是具体如何取得选中的那些记录的id呢?哪位大哥帮我写下完整的代码吧我的代码:<SCRIPT language=javascript>
function CheckAll(form)
  {
  for (var i=0;i<form.elements.length;i++)
    {
    var e = form.elements[i];
    if (e.name != 'chkall')
       e.checked = form.chkall.checked;
    }
  }
</SCRIPT>
<body>
<form name=myform method='post' action='' onsubmit='return checkdata();'>
<table width="502" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#666666">
  <tr>
    <td colspan="5" align="center" valign="middle" bgcolor="#666666"><span class="STYLE2">用户管理</span></td>
  </tr>
  <tr>
    <td width="37" align="center" bgcolor="#FFFFFF"><input type="checkbox" name="chkall" onClick="javascript:CheckAll(this.form)"></td>
    <td width="145" align="center" bgcolor="#FFFFFF"><strong>用户名</strong></td>
    <td width="94" align="center" bgcolor="#FFFFFF"><strong>状态</strong></td>
    <td width="95" align="center" bgcolor="#FFFFFF"><strong>编辑</strong></td>
    <td width="95" align="center" bgcolor="#FFFFFF"><strong>删除</strong></td>
  </tr>
<?php
while($Row=mysql_fetch_array($result))
{
$wyx_id=$Row["wyx_id"];
$wyx_name=$Row["wyx_name"];
$wyx_pass=$Row["wyx_pass"];
?>
    <tr>
    <td width="37" align="center" bgcolor="#FFFFFF"><input type="checkbox" value=""></td>
    <td width="145" align="center" bgcolor="#FFFFFF"><?php echo $wyx_name ?></td>
    <td width="94" align="center" bgcolor="#FFFFFF"></td>
    <td width="95" align="center" bgcolor="#FFFFFF"><a href="admin_useredit.php?id=<?php echo $wyx_id ?>">编辑</a></td>
    <td width="95" align="center" bgcolor="#FFFFFF"><a href="admin_userdel.php?id=<?php echo $wyx_id ?>">删除</a></td>
  </tr>
<?php
}
?>  <tr>
    <td colspan="5" bgcolor="#FFFFFF">
<input type=submit name=submit value=删除>
&nbsp;</td>
  </tr>
</table>
</form>
</body>

解决方案 »

  1.   

    通常删除就是把所有的id放在一个数组里如s[],这是多个id,checkbox,value是
    每条记录对应的id,
    公用一个名s[],如果选择哪个提交表单就是一个数组啊,然后$expr = join(",", $_POST['s']);
    这样执行时delete from table where id in ($expr )
    就可以啊
      

  2.   

    提交之后:$wyx_id=$_POST['wyx_id'];foreach($wyx_id as $value)
    {
    $sql="delete from table where id=$value";
    }
    这样就OK了
      

  3.   

    <input type="checkbox" name="ids[]" value="这里要输入id">
    post 过去就是
    $ids[0]=id1;
    $ids[1]=id2; 这个形式,楼上的已经说的很明白了.
      

  4.   

    多条主要用条件语句来控制。比如说id in ...,或者id > ... 又或者 id not in ...等等。
      

  5.   

    <td width="37" align="center" bgcolor="#FFFFFF"><input type="checkbox" value="<?PHP echo  $wyx_id;?>" name="delid[]"></td>在你的处理页面
    $del = join(",", $_POST['delid']);
    这样执行时
    $sql = "delete from tbl where id in ($del ) ";
      

  6.   

    在form里加个onsubmit="return getValue();"
    在form内部加个<input type="hidden" name="allcheckboxs" id="allcheckboxs"> function getValue()
    {
    <!--//获得复选框的值
      form_job.allcheckboxs.value = "";  
     if( !form_job.Id11.length ) // 只有一个复选框,form3.checkbox1.length = undefined 
     { 
      if(form_job.Id11.checked ) 
      form_job.allcheckboxs.value = form_job.Id11.value; 
     } 
     else 
     {
      for ( ii = 0 ; ii < form_job.Id11.length ; ii++ ) 
      { 
       if ( form_job.Id11(ii).checked ) // 复选框中有选中的框 
       {
        form_job.allcheckboxs.value = form_job.Id11(ii).value;
        for ( j = ii + 1 ; j < form_job.Id11.length ; j++ ) 
        { 
         if ( form_job.Id11(j).checked ) 
         { 
          form_job.allcheckboxs.value += ","; //用,做分割符 
          form_job.allcheckboxs.value += form_job.Id11(j).value; 
         } 
        }
        break;
       }
       }
      }
    }form_job是你form的名字,Id11是所有复选矿名字
    再在action里接受allcheckboxs,然后用
    delete from 表名 where id in(".$allcheck.")