我可以为已选中和未选中状态的复选框指定值吗?

时间:2015-10-22 12:54:43

标签: php checkbox

我在表单中有一个复选框,我想为已检查和未检查的状态分配值。 值保存在MySQL数据库中。这是我的php来检索值。

<?php
// Value = 10.00
// This should be the checked value (initial state)
function getDel1()
{
global $con;
$get_del1 = "select * from delivery";
$run_del1 = mysqli_query($con, $get_del1);
while($row_del1=mysqli_fetch_array($run_del1)){
$leeds = $row_del1['delivery_leeds'];
echo "$leeds";
}
}
?>

<?php
// Value = 20.00
// This should be the unchecked value (user interaction)
function getDel2()
{
global $con;
$get_del2 = "select * from delivery";
$run_del2 = mysqli_query($con, $get_del2);
while($row_del2=mysqli_fetch_array($run_del2)){
$leeds = $row_del2['delivery_other'];
echo "$other";
}
}
?>

我可以通过调用与表单复选框相邻的div中的任一函数来独立显示值,但我不知道如何将这些值分配给表单复选框,然后根据用户自动更新div相互作用。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

三元运算符可以处理指定的值和未指定的默认值。

示例:

$checkbox = isset($_POST['checkbox']) ? $_POST['checkbox'] : "Default value if unchecked";

这相当于:(您也可以使用)。

if (isset($_POST['checkbox'])){
    $checkbox=$_POST['checkbox'];

// do something, as in run a function

}
else{
    $checkbox="Default value if unchecked";

// do something else, as in run a different function

}

您也可以删除默认文字并在三元组中执行""以将其留空。

参考:

脚注:

确保该复选框包含name属性。

即。 name="checkbox"为例。

并且您的表单有一个POST方法。相应地使用适当的方法。

  • 因此,在您的情况下,从您离开的代码的评论中可以看到,将数组中的checkbox更改为deliver

您的复选框值也可以使用以下内容,作为三元示例:

<input type="checkbox" name="deliver" value="<?php echo isset($_POST['deliver']) ? $_POST['deliver'] : "Default value if unchecked"; ?>" />