php - 使用 radio select php 更新 mysql

标签 php html mysql syntax echo

好吧,伙计们,这让我发疯。也许是星期一早上,但我就是做不到:

<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/

相关文章:

php - 为什么 Recaptcha 没有出现?

php 语法错误,意外的 T_VARIABLE,第 29 行期望 ',' 或 ';'

php - 简化array_map中item的调用方法

javascript - 获取选择器 "app"与任何元素都不匹配

mysql - 在 SQL 查询中从一个表中选择两个日期范围会给出夸大的数字

php - 防止 SQL 注入(inject)

html - 尝试在每种类型的浏览器中将页面居中——在大多数情况下都有效,但在其他浏览器中无效

jquery - columnize jQuery - 强制列不变形

mysql - 不在数据库中插入数据 - grails

mysql - 将分隔字符串分解为 MySQL 存储过程中的变量