一种方式就是你前面接收的时候只接收选中的值,不过我不太清楚你是如何用的,是下拉框还是复选框,再一个就是按照你现在的逻辑也可以,在你的for循环中再加个判断,如果返回值为空就不要echo就行了

解决方案 »

  1.   

    if($submit)
    {
      $query="delete from duct_kind where duct_id in(";
      foreach ($duct_kind as $val) {
        echo $val."<br>";
        $query.="'$val',";
      }
      $query=substr($query,0,strlen($query)-1);
      $query.=")";
      echo $query;
    }
    ?>
    <form action="<?=$PHP_SELF;?>" method="post">
    <select name="duct_kind[]" multiple>
     <option value="1">test1   </option>
     <option value="2">test2</option>
     <option value="3">test3</option>
     <option value="4">test4</option>
     <option value="5">test5</option>
     <option value="6">test6</option>
     <option value="7">test7</option>
     <option value="8">test8</option>
    </select>
    <input type="submit" name="submit" value="submit">
    </form>
      

  2.   

    <?
    $dutlen=$duct_kind.length-1;
    $query="delete from duct_kind where duct_id in(";
    for($i=0;$i<$dutlen;$i++)
    {
    $query.="'$duct_kind[$i]',";//错误出在这里
    echo $duct_kind[$i]."<br>";
    }
    echo $dutlen;
    $query.="'$duct_kind[$dutlen]')";//取数组最后一个数