PHP MySql:Checked Dynamic radio Box

时间:2014-06-10 19:43:43

标签: php html mysql sql

我有动态检查单选框的代码:

PHP:

if ($author === 0) {$checked = 'checked';} else {$checked == '';}

if ($author === 1) {$checked = 'checked';} else {$checked == '';}

if ($author === 2) {$checked = 'checked';} else {$checked == '';}

HTML:

<input type="radio" name="test" <?PHP echo $checked; ?> />
<input type="radio" name="test" <?PHP echo $checked; ?> />
<input type="radio" name="test" <?PHP echo $checked; ?> />

这种方式是真的吗?什么是更好/优化的方式?

我可以为保存代码编写任何PHP函数或类并检查任何单选框吗?

5 个答案:

答案 0 :(得分:1)

如果您期待使用缩短的if语句表单,它可以为您节省一些行和不必要的额外变量。第一个input的示例:

<input type="radio" name="test" <?php echo $author === 0 ? 'checked' : '' ?> />

答案 1 :(得分:1)

理想情况下,如果作者值与该输入相关,则需要检查按钮,例如:

<input type="radio" name="test" value="0" <?php echo ($author == 0 ? 'checked="checked"' : ''); ?> />
<input type="radio" name="test" value="1" <?php echo ($author == 1 ? 'checked="checked"' : ''); ?> />
<input type="radio" name="test" value="2" <?php echo ($author == 2 ? 'checked="checked"' : ''); ?> />

您目前正在检查所有值是否为任何值。

答案 2 :(得分:0)

HTML标记错误。使用该HTML,用户可以选择所有这些无线电。为了使用户只能从该组选项中选择一个单选按钮,将名称更改为所有匹配,如下所示:

<input type="radio" name="test1" <?PHP echo $checked; ?> />
<input type="radio" name="test1" <?PHP echo $checked; ?> />
<input type="radio" name="test1" <?PHP echo $checked; ?> />

答案 3 :(得分:0)

你可以做的事情:

<?php
    $checked = ($author >= 0 && $author <= 2 ? 'checked' : '');
?>

HTML

<input type="radio" name="test" <?php echo $checked; ?> />
<input type="radio" name="test1" <?php echo $checked; ?> />
<input type="radio" name="test2" <?php echo $checked; ?> />

答案 4 :(得分:0)

<?php
    switch($author) {
        case 0:
        case 1:
        case 2:
             $checked = "checked";
             break;
        default:
             $checked = '';
    }