从php中检索单选按钮的mysql值

Liq*_*ore 4 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>
Run Code Online (Sandbox Code Playgroud)

我用mysqli_fetch_array()检索值.

这是结果:

在此输入图像描述

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

我已经尝试过把==代替=并放'代替',但我不知道为什么选中复选框"B",因为所有者值为A.

此外,如果有任何比这更好的最佳做法,欢迎您.

tri*_*cot 8

HTML属性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
Run Code Online (Sandbox Code Playgroud)

或者使用更紧凑的短回波标签<?= .. ?>三元运算符:

<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
Run Code Online (Sandbox Code Playgroud)

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