从php中为单选按钮

时间:2015-11-07 08:55:13

标签: php mysql radio-button

尽管看起来微不足道,但我在通过PHP从MySql数据库中检索单选按钮的值时遇到了问题。这是我的第一个学习项目,所以我一直在努力

问题已被提出,但我没有找到有用的答案。

php代码做了一个简单的" Select *"所以我检索了所有的字段。

这是php代码

<label>Owner: <?php echo $row['Owner']; ?></label></br>
<input type="radio" name="Owner" checked=<?php if($row['Owner'] = "A") { echo "true"; }?>  value="A">A
<input type="radio" name="Owner" checked=<?php if($row['Owner'] = "B") { echo "true"; }?> value="B">B</br></br>

我用mysqli_fetch_array()检索值。

结果如下:

enter image description here

如您所见,标签检索的值正确,单选按钮不是。

我已经尝试过将==代替=并放置&#39;而不是&#34;但我不知道为什么复选框&#34; B&#34;选中,因为所有者值为A。

此外,如果有任何优于此的最佳做法,欢迎您。

5 个答案:

答案 0 :(得分:7)

HTML attribute checked不应该获得值,仅仅存在表示单选按钮已被选中。所以这样做:

<label>Owner: <?php echo $row['Owner']; ?></label></br>
<input type="radio" name="Owner" <?php if($row['Owner']=="A") {echo "checked"}?> value="A">A
<input type="radio" name="Owner" <?php if($row['Owner']=="B") {echo "checked"}?> value="B">B

或使用更紧凑的short echo tag <?= .. ?>ternary operator

<label>Owner: <?=$row['Owner']?></label></br>
<input type="radio" name="Owner" <?=$row['Owner']=="A" ? "checked" : ""?> value="A">A
<input type="radio" name="Owner" <?=$row['Owner']=="B" ? "checked" : ""?> value="B">B

请注意,您需要使用双等号进行比较。

答案 1 :(得分:2)

尝试此代码不是db_department,而是使用=

==

答案 2 :(得分:0)

$gender=$row['gender'];


<input type="radio" name="gender" <?php if($gender=="Male"){?> checked="true" <?php } ?> />Male

<input type="radio" name="gender" <?php if($gender=="Female"){?> checked="true" <?php } ?>/>Female

答案 3 :(得分:0)

$owner=$row['owner'];
$owners= ['A'=>'', 'B'=> ''];
$owners[$owner] = 'checked';

<input type="radio" name="Owner" <?php echo $owners['A']?>  value="A">A
<input type="radio" name="Owner" <?php echo $owners['B']?>  value="B">B

我认为如果你在DB中有很多值,那么它很简单,也很有用。

答案 4 :(得分:-1)

我尝试了@trincot给出的答案,但它给了我错误,所以我做了一点改动来改善答案

<input type="radio" name="Owner" <?php if($row['Owner']=="A") {?> <?php echo "checked";?> <?php }?> value="A">A

<input type="radio" name="Owner" <?php if($row['Owner']=="B") {?> <?php echo "checked";?> <?php }?> value="B">B