提问者:小点点

检索mysql值从PHP为单选按钮


虽然看起来很简单,但我在通过PHP从MySql数据库检索单选按钮的值时遇到了问题。这是我的第一个学习项目,所以我正在尽我最大的努力

这个问题已经问过了,但我没有找到有用的答案。

PHP代码做了一个简单的“选择*”,所以我检索所有的字段。

这是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()检索这些值。

结果是:

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

我已经尝试过用==代替=和用'代替',但我不知道为什么选中复选框“B”,因为所有者的值是A。

此外,如果有比这更好的最佳实践,欢迎您。


共3个答案

匿名用户

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

或者使用更紧凑的短回声标签

<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

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

匿名用户

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

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

匿名用户

$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