php – $_POST as $key => $value使用复选框

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – $_POST as $key => $value使用复选框脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我无法获取表单来更新从复选框传递的信息.我得到了这个代码.

$one = isset($_POST['one']) ? 'on' : 'off';

只要我单独调用每个复选框,这都很有效.我的问题是我总共有大约200个复选框.

这是我用来更新的代码.任何人都可以帮我找出在我现在的代码中插入代码的位置吗?我尝试了各种各样的变化.

if($_POST['submIT']){
    if(!empty($applicant_id)){
        $sql = "UPDATE play SET ";
        foreach($_POST as $key => $value){
                if(($key != 'submit') && ($key != 'applicant_id')){
                    $sql .=  $key. " = '$value',";
                }
        }
        $sql = substr($sql,-1);
        $sql .= " WHERE ".$applicant_id." = $applicant_id";
        $result = MysqL_query($sql,$db) or die(MysqL_error(). "<br />sql: $sql");   
    } 
}

解决方法

解决方案是从数组()或类似的可能复选框的已知列表开始.我可以假设您使用这样的列表生成表单吗?如果没有,你可能应该.然后,您可以使用相同数据的循环来检查每个复选框是否存在.

其他一些提示

不建议使用isset($array [$key]).尽管大多数时候它都是可靠的,但如果$array [$key]为null,它将失败.正确的调用array_key_exists($key,$array).

在为sql编写字符串片段时,就像您正在做的那样,执行以下操作更为优雅:

$sqlvalues = array();
 foreach( $options as $field ) {
    if( array_key_exists('checkBox_'.$field,$_POST) )
        $sqlvalues[] = $field.' = \'on\'';
    else
        $sqlvalues[] = $field.' = \'off\'';
 }
 MysqL_query('UPDATE '.$table.' SET '.implode(',',$sqlvalues).' WHERE applicant_id = '.$applicant_id);

脚本宝典总结

以上是脚本宝典为你收集整理的php – $_POST as $key => $value使用复选框全部内容,希望文章能够帮你解决php – $_POST as $key => $value使用复选框所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。