php数组从复选框到mysql

时间:2010-12-14 20:59:43

标签: php arrays

我找到了一些代码来帮助我解决我遇到的问题..如果表单没有通过验证,它将保留我的复选框选择。现在我想知道如何以一种可以放入mysql的形式获得选择? 在我的形式

<?php

$a = array("1*","2*","3*","4*","5*+");

foreach($a as $key => $value)
{
    echo `"<input type='checkbox' name='rating[]' value='$value' `";

    if(is_array($_POST['rating']) && in_array($value,$_POST['rating']))
        echo " checked ";

    echo ">$value";
}
?>

<INPUT TYPE="SUBMIT" name="submitted" VALUE="Submit" class="submit">
</form>
</code>

1 个答案:

答案 0 :(得分:2)

这是你要求的吗?

foreach($_POST['rating'] as $checked_value)
{
    //do what you want to do with here like INSERT or UPDATE
    echo $checked_value.'<br />';
}

编辑: 如果您希望对评级进行算术运算或分析,这也许会有所帮助

    $a = array( "1" => "1*", "2" => "2*", "3" => "3*", "4" => "4*", "5" => "5*+");

    foreach($a as $key => $value)
    {
        echo '<input type="checkbox" name="rating[]" value="'.$key.'"';

    /* replaced
        if(is_array($_POST['rating']) && in_array($value,$_POST['rating']))
    with below */
        if(is_array($_POST['rating']) && in_array($key,$_POST['rating']))
            echo " checked ";

        echo " />$value";
    }

不确定此代码的实现,但您确定复选框是正确的输入类型吗?也许单选按钮会更好,因为用户只能选择1个评级。当前设置时,用户可以选择1,3和5作为评级。