我找到了一些代码来帮助我解决我遇到的问题..如果表单没有通过验证,它将保留我的复选框选择。现在我想知道如何以一种可以放入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>
答案 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作为评级。