$sql=mysql_query("delete 
FROM yh 
WHERE id in ($_POST[sc])"); 这个处理页面肯定没有问题。 
就在在传递页面我怎么做记录集都是传递过来一个值。郁闷到现在。传送页面应该怎么处理……最好来个例子

解决方案 »

  1.   

    $_POST[sc]有多个值的话,implode(",",$_POST[sc]);
      

  2.   

    放个Hidden字段啊
    提交(OnSubmit)的时候用Javascript,把值拼一下放在Hidden字段里面传过来不就可以了。 不过这样容易被SQL注入,小心使用。嘿嘿
      

  3.   

    sc本来就应该是一个字符串啊,不过,是一个以“,”分开的多个数值如:
    “1,2,3,4,5”;
    我觉得你可以先打印出sc,看一下传过来什么值,页面如果是多项选择的话就用JS脚本拼成上面的字符串再传过来就可以了。
      

  4.   

    生成正确的sql语句就行了,自己控制。
    批量删除,确实需要多多防范sql注入。
    最好生成类似这样的删除语句
    delete FROM yh WHERE id in ('1','2','3'),当然gpc数据使用之前都要做filter处理。
    不要生成类似以下的
    delete FROM yh WHERE id in (1,2,3),很容易给注入,比如用户很容易提交注入数据,比如提交' 0) or (1=1 ',使sql变成delete FROM yh WHERE id in ( 0) or (1=1 ),数据将被全清。多多注意。
      

  5.   

    html方面
    ================
    <input type=checkbox name=sc[] value=1/>记录1
    <input type=checkbox name=sc[] value=2/>记录2
    <input type=checkbox name=sc[] value=3/>记录3
    <input type=checkbox name=sc[] value=4/>记录4
    ..
    使用数组名,php方面$_POST[sc]将是个数组