【问题标题】:How do I add on multiple $_POST['row'] and variables? [closed]如何添加多个 $_POST['row'] 和变量? [关闭]
【发布时间】:2010-03-24 17:31:24
【问题描述】:

我正在努力找出在这些语句中添加更多变量和行的语法正确方法:

/* 想再添加五个 $_POST[''] */

if(isset($_POST['check_prof']) && $_POST['check_prof'] == 'checked') {
$check_prof = "checked";
}else{
$check_prof = "unchecked";
} 

/* 相同,想在这里添加其他五个 */

$query = "UPDATE `Users` SET `check_prof` = '" . $check_prof . "' WHERE `id` = '" . $auth->id . "' LIMIT 1";
    mysql_query($query,$connection);
    $auth->refresh();
    }

【问题讨论】:

标签: php html syntax variables


【解决方案1】:

你的意思是这样吗?

$fields = array('check_prof', 'check_this', 'check_that', 'check_whatever');

foreach($fields as $field){
    isset($_POST[$field] && $_POST[$field] == 'checked')){
        $$field='checked';
    } else {
        $$field='unchecked';
    }

    $query = "UPDATE `Users` SET `$field` = '" . $$field . "' WHERE `id` = '" . $auth->id . "' LIMIT 1";
    mysql_query($query,$connection);
    $auth->refresh();
}

顺便说一句,您可以将其存储为 tinyint(1) 类型并仅使用 0 或 1,而不是将“已检查”和“未检查”存储在数据库中(作为 varchar)。它将占用更少的空间空间。

另一件事,这将为每个字段执行单独的查询。如果性能是一个问题,编写一个查询来更改所有字段会更有效。

【讨论】:

    【解决方案2】:

    假设我明白你的意思,试试这个:

    <?php
    $arr = array('check_prof' => 'unchecked',
                'check_student' => 'unchecked');
    foreach($arr as $field => $checked) {
        if (isset($_POST[$field]) && $_POST[$field] == 'checked') {
            $arr[$field] = 'checked';
        }
        // I don't know where $auth is coming from
        $query = "UPDATE `Users` SET `$field` = '" . $arr[$field] . "' WHERE `id` = '" . $auth->id . "' LIMIT 1";
        mysql_query($query,$connection);
        $auth->refresh();
    }
    ?>
    

    您只需根据需要将字段添加到 $arr 即可循环。

    【讨论】:

    • 我只想添加倍数...if(isset($_POST['check_prof']) && $_POST['check_prof'] == 'checked') { $check_prof = "checked "; }else{ $check_prof = "未选中"; } f(isset($_POST['check_blog']) && $_POST['check_blog'] == 'checked') { $check_blog = "checked"; }else{ $check_blog = "未选中";但不知道将它们添加到同一语句的正确语法,只想添加多个变量和发布值等
    • 换句话说,您在原始问题中看到的只是针对 check_prof,但想在同一语句中添加 check_blog、check_question 等...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-30
    相关资源
    最近更新 更多