<table>
<tr>
     <td></td>
    <td><p style="font-size:13px;font-weight:bold;">Paper Title</p></td>
<td><p style="font-size:13px;font-weight:bold;">Comments</p></td>
<td><p style="font-size:13px;font-weight:bold;">Upload Date</p></td>
<td><p style="font-size:13px;font-weight:bold;">Delete</p></td>
</tr>
<?php
$con = @mysql_connect("localhost","root","")or die("failed to connect the database");
mysql_select_db("iccp",$con);
mysql_query("set names 'GBK'");
$sql="select * from t_paper where contributor_id=118";
$query = mysql_query($sql);
while($row=mysql_fetch_array($query)){
?>
<tr>
<td><input type="checkbox" name="name" value="<?=@$row['paper_title']?>"/></td>
<td><?=@$row['paper_title']?></td>
<td></td>
<td><?=@$row['upload_time']?></td>
<td><input name="submit" value="delete" type="submit"></td>
</tr>
</table>
<?php
}
if(!empty($_POST['name'])){
$str = explode(",",$_POST['name']);
         mysql_query("delete from t_paper where paper_title in($str)");}
?>
这里测试   为什么无法得到$_POST['name']的值

解决方案 »

  1.   

    form 表单都没
    <form method=post
      

  2.   

    太粗心了,表单结构都不完整!
    <form action='##' method='post'>
    .......
    <td><input name="submit" value="delete" type="submit"></td>
    .......
    </form>
      

  3.   

    加了form表单   还是一样的  没办法删除
      

  4.   

    $str 得到的值是什么样的?
      

  5.   

    $str 应该得到的是$row['paper_title']的数组;现在就是无法得到$_POST['name']的值
      

  6.   

    莫非又是短标签的问题?提交前输出的页面正常吗?
    <?=@$row['paper_title']?>
    改成<?php标签形式输出试试:
    <?php echo $row['paper_title']; ?>
      

  7.   

    <?=@$row['paper_title']?>
    这个输出正常  按你的试了   还是不可以
      

  8.   

    另外,判断表单是否被提交应该用isset()
    if (isset($_POST['name'])) {
        $str = explode(",",$_POST['name']);
        mysql_query("delete from t_paper where paper_title in($str)"); //这里明显有问题,explode()函数返回的是一个数组,SQL语句语法错误了
    }
      

  9.   

    //$str = explode(",",$_POST['name']);
    //             ↓
    $str = implode(',', $_POST['name']));
      

  10.   

    按照你的方法,还是报错Warning: implode() [function.implode]: Invalid arguments passed in E:\wamp\www\delete.php\delete.php on line 31
      

  11.   

    <td><input type="checkbox" name="name[]" value="<?php echo $row['paper_title']; ?>"/></td>
      

  12.   

    这个没用错误  
    已经解决了
    <?php
    }
    if(!empty($_POST['name'])){
    $str = explode(",",$_POST['name']);
      mysql_query("delete from t_paper where paper_title in($str)");}
    ?>改为
    <?php
    }
    @$a=$_POST['name'];
    if(!empty($_POST['name'])){
    $str = implode(",",$a);
        mysql_query("delete from t_paper where paper_title in ($a)");
    }
    ?>
    就可以了    但是不知道为什么要在前面加个@$a=$_POST['name'];
    非常感谢你的回答
      

  13.   

    name属性值不加[]能实现多选删除吗?
      

  14.   

    昨天晚上回去了  没回答
    我这里的功能之要求单选删除   多选删除应该要将name[]。