首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

删除多条记录的有关问题

2012-02-27 
删除多条记录的问题删除多条记录的问题用户管理页面,删除单条的记录我现在已经掌握了,可是如何一次删除多

删除多条记录的问题
删除多条记录的问题

用户管理页面,删除单条的记录我现在已经掌握了,可是如何一次删除多条记录呢?

我知道用循环,但是具体如何取得选中的那些记录的id呢?

哪位大哥帮我写下完整的代码吧。。。

我的代码:

PHP code
<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><?phpwhile($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>


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

PHP code
$wyx_id=$_POST['wyx_id'];foreach($wyx_id as $value){$sql="delete from table where id=$value";}这样就OK了
[解决办法]
<input type="checkbox" name="ids[]" value="这里要输入id">
post 过去就是
$ids[0]=id1;
$ids[1]=id2; 这个形式,楼上的已经说的很明白了.
[解决办法]
多条主要用条件语句来控制。

比如说id in ...,或者id > ... 又或者 id not in ...

等等。
------解决方案--------------------


<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 ) ";
[解决办法]
jf
[解决办法]
都被答完了。jf
[解决办法]
在form里加个onsubmit="return getValue();"
在form内部加个<input type="hidden" name="allcheckboxs" id="allcheckboxs">

JScript code
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;   }   }  }} 

热点排行