db表格中的PHP表单复选框(初学者)

时间:2012-12-18 04:13:46

标签: php

在另一个帖子上回答了一个问题;现在我需要解决下一步! :)

我们的数据库secondary_phone_number10

在我们的视图(MVC)中;我有

{
    $secondaryNumber = $company->getSecondaryPhoneNumber();

    if ($secondaryNumber = 1) {
        $data['secondaryphonenumber'] = TRUE;
    } else {
        $data['secondaryphonenumber'] = FALSE;
    }
}

然后在我们的模板(HTML)中,我试图显示复选框,如果是(1)或否(2),则根据数据库条目显示:

<label>
<input type="checkbox" name="secondary_phone_number" value="1" {{#secondaryphonenumber}}checked="checked"{{/secondaryphonenumber}}/>
Yes
</label><br>
<input type="checkbox" name="secondary_phone_number" value="0" {{#secondaryphonenumber}}checked="checked"{{/secondaryphonenumber}}/>
No
</label>

问题是,无论数据库说什么,两个复选框都显示为已检查。有什么想法吗?

3 个答案:

答案 0 :(得分:1)

我不确定您使用的是哪种MVC框架,或者您制作了自己的框架,但是您的方法并不关心生成复选框时secondaryphonenumber中的内容

尝试这样的事情

<label>
<input type="checkbox" name="secondary_phone_number" value="1" <?=$secondaryphonenumber?"checked":""?>/>
Yes
</label><br>
<input type="checkbox" name="secondary_phone_number" value="0"  <?=$secondaryphonenumber?"":"checked"?>/>
No
</label>

但我建议使用单选按钮,因为复选框允许用户选择这两个选项。

答案 1 :(得分:0)

试试这个:

$secondaryNumber = $company->getSecondaryPhoneNumber();

if ($secondaryNumber = 1) {
    $data['secondaryphonenumber'] = TRUE;
} else {
    $data['secondaryphonenumber_false'] = TRUE;
}

<label>
<input type="checkbox" name="secondary_phone_number" value="1" {{#secondaryphonenumber}}checked="checked"{{/secondaryphonenumber}}/>
Yes
</label><br>
<input type="checkbox" name="secondary_phone_number" value="0" {{#secondaryphonenumber_false}}checked="checked"{{/secondaryphonenumber_false}}/>
No
</label>

答案 2 :(得分:0)

试试这个..

<label>
    <input type="checkbox" name="secondary_phone_number" value="1" <?php if($data['secondaryphonenumber'] == TRUE){?>checked="checked"<?php }?>/>
Yes
</label><br>
<input type="checkbox" name="secondary_phone_number" value="0" <?php if($data['secondaryphonenumber'] == FALSE){?>checked="checked"<?php }?>/>
No
</label>
Using radio button will be a better option..