好吧,伙计们,这让我发疯。也许是星期一早上,但我就是做不到:
<form id="form1" name="form1" method="post" action="choice.php">
<table border="1px">
<tr>
<?php
while ($row = $result->fetch_assoc()) {
unset($id);
$id = $row['id'];
echo '<td><img src="images/smiley.jpg" alt="Chose me"><br><input type="radio" name="choice" value='.$id <?php if ( $choice == $id ) {echo "checked";} ?>.' >Chose me</td>';
}
?>
</tr>
</table>
<br class="clear" />
<input type="submit" value="Submit">
<br class="clear" />
</form>
</body>
问题在于:
echo '<td><img src="images/smiley.jpg" alt="Chose me"><br><input type="radio" name="choice" value='.$id <?php if ( $choice == $id ) {echo "checked";} ?>.' >Chose me</td>';
我已经阅读了这些(但仍然无法正确理解语法):
I want to update a value of radio button in database (mysql) using php
php update radio button state in db
我认为问题出在单引号和双引号上。尝试改变它们,仍然得到各种解析错误:意外的?或 > 等等
甚至尝试移动这部分
<?php if ( $choice == $id ) {echo "checked";} ?>
到一个单独的行,并设法以这种方式获得有效的 php 文件,但是当我将其复制回 echo 语句时,它总是搞砸。
请告诉我正确的方法。
最佳答案
这行正确吗$id <?php if ( $choice == $id ) {echo "checked";} ?>
??您试图将已检查的属性放入值中吗?或者你的意思是这个
$checked = $choice == $id ? "checked" : null;
echo "<td><img src='images/smiley.jpg alt='Chose me'><br><input type='radio name='choice value='{$id}' {$checked}>Chose me</td>";
请注意,我将单引号的使用更改为双引号,以便您可以在侧双引号中使用变量
关于php - 使用 radio select php 更新 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40584095/