PHP中的'input'表单标记中的'checked'属性问题while循环

时间:2014-10-10 23:45:19

标签: php forms input checked

我使用html表单编辑sql db,因此我希望表单显示当前数据库中的值。我使用while循环显示所有sql行。我简单的单选按钮,允许用户选择'列表' (显示为' 0'在sql中)或' Recent Transactions" (在sql中显示为' 1'。

单选按钮不会预先填写sqlas选中的值

<form name="edit listing" action="edit_list.php" method="post" id="edit_form" >
  <ul>
       <?php while ($data=mysqli_fetch_assoc($result)):
           $transaction = $data['transaction'];
           $chkvalue='checked="checked"'; ?>
   <li>
    <fieldset>
      <legend>Designation <h6>Required</h6></legend>
       <input name="transaction" type="radio" tabindex="11" value="0" <?php if ($transaction == '0') echo $chkvalue; ?> />
      <label for="listings">Listings</label>
       <input name="transaction" type="radio" tabindex="12" value="1" <?php if ($transaction == '1') echo $chkvalue; ?> />
      <label for="recent_transactions">Recent Transactions</label>
    </fieldset>
    <input type="submit" formaction="edit_list.php" value="Submit Changes" />
</form>
   </li>
           <?php endwhile;mysqli_close($con);?>
 </ul>

简短的PHP插入工作,一点点。我的源代码看起来像这样:

<input name="transaction" type="radio" tabindex="11" value="0"  />
 <label for="listings">Listings</label>
<input name="transaction" type="radio" tabindex="12" value="1" checked="checked" />
 <label for="recent_transactions">Recent Transactions</label>

但单选按钮不是预先填充的。 radio button not pre-filling

我一整天都在喋喋不休,任何有问题的建议都会非常有帮助

1 个答案:

答案 0 :(得分:3)

您只需撰写checked而不是check="checked"

所以改成它:

$chkvalue='checked'; ?>

而不是:

$chkvalue='checked="checked"'; ?>