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.
此外,如果有任何比这更好的最佳做法,欢迎您.
该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)
请注意,您需要使用双等号进行比较.