Я использую HTML-форму для редактирования sql db, поэтому я хотел бы, чтобы форма отображала значение в настоящее время в базе данных. Я использую цикл while для отображения всех строк SQL. Я простой переключатель, позволяющий пользователю выбирать между «Списки» (отображается как «0» в sql) или «Недавние транзакции» (отображается как «1» в sql).
Переключатели предварительно не заполняют значение из 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>
Но переключатель не является предварительным заполнением.
Я ткнул в это весь день, любое предложение здесь, где может быть проблема, было бы чрезвычайно полезно
Вам нужно только написать checked
не check="checked"
!
Так что измените это на это:
$chkvalue='checked'; ?>
вместо этого:
$chkvalue='checked="checked"'; ?>
Других решений пока нет …