全选一:
function chkAll_onClick(){
if(typeof(document.del.chkItem)=="undefined") return;
if (typeof(document.del.chkItem[0]) == "undefined"){document.del.chkItem.checked = document.del.chkAll.checked;}
else
for (i = 0; i <document.del.chkItem.length; i++)
document.del.chkItem[i].checked = document.del.chkAll.checked
return;
}
全选二:
  function check(f)
  {  
   var o = document.getElementsByTagName('INPUT');
    f = f == '1'?'0':'1';
    for(var i=0;i<o.length;i++)
    {
      if(o[i].type == 'checkbox') o[i].checked = f == '1'?false:true;
    }
  }
里面当然有叛断!
php中取值:
$coun = count ($_POST['chk']);
$tmp=$_POST['chk'];
  for ($i = 0; $i < $coun; $i++)
{
      //删除操作
      $query_str = "DELETE FROM message WHERE message_id =$tmp[$i]";
$gDB->query($query_str);
}

解决方案 »

  1.   

    checkbox有没有取到值,你输出来看一下呀!测试一上,如果没有就证明是checkbox没有取得到值,改checkbox的地方就可以了呀!
      

  2.   

    for($i=0;$i<count($selected);$i++){
    这句如果你全局变量不开的话是取不到count($selected)的呀
      

  3.   

    因为form的action=GET,所以我可以看到地址栏中取的值是正确的。
    但今天我这么写:
    for($i=0;$i<count($selected);$i++){
    $result1=mysql_query("select * from software_list where list_type=$_POST[selected][$i]");
    $nums=mysql_num_rows($result1);
    总是报错:Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource 
    修改为:
    $result1=mysql_query("select * from software_list where list_type=".$_POST[selected][$i]);
    还是报上面的错;
    修改成这样:
    $result1=mysql_query('select * from software_list where list_type='.$_POST[selected][$i]);
    还是报同样的措!晕呀!
      

  4.   

    $coun = count ($_POST['selected']);
    $tmp=$_POST['selected'];
      for ($i = 0; $i < $coun; $i++)
    {
          //删除操作
          $result1=mysql_query("select * from software_list where list_type=$tmp[$i]");
           }
      

  5.   

    把程序deltype.php贴全了,改成chf99cn那样的,现在不报错了,但也没执行if和else.咋回事?
    <?
    function delete($selected){
     if (count($selected)==0){
     ?>
        <script language="javascript">
    alert ("请选择要删除的类别!");
    </script>
    <? }
     else{
          $coun=count($_POST['selected']);
      $tmp=$_POST['selected']; 
          for($i=0;$i<$coun;$i++){
          $result1=mysql_query("select * from software_list where list_type=$tmp[$i]");
      $nums=mysql_num_rows($result1);
      
      if(nums>0){
    ?>
                <script language="javascript">
            alert ("该类别下还有软件列表,不能删除!");
            </script>  
    <?         }
              else{
           $result2=mysql_query("delete from software_type where type_id=$tmp[$i]");
           if(!$result2){
    ?>
                  <script language="javascript">
              alert ("错误:未能删除所选类别!");
              </script> 
    <?            }
                        
       }    

        } 
    }
    }
    ?>      
      

  6.   

    function delete($selected)
    这个$selected是什么意思,在程序中不是可以得到$selected的value值吗?
    你先不要写完代码,可以分部测试吗?
    第一,测试$coun = count ($_POST['selected']);
    echo $coun;
    $tmp=$_POST['selected'];
      for ($i = 0; $i < $coun; $i++)
    {
          //删除操作
          echo $tmp[$i];
           }
    这个能不能取到你的value值呀,如果能哪么进行下一步测试!
    如果不行,你就要改这一部分程序呀!你一步一步测下去,就可以了呀!
      

  7.   

    echo $coun;结果是0。但在地址栏里可以看到取的值都是正确的。这是咋回事?
      

  8.   

    在程序中echo $tmp[$i];却无显示