[英]Retrieve mysql value from php for radio buttons
盡管看起來微不足道,但我在通過PHP從MySql數據庫中檢索單選按鈕的值時遇到問題。 這是我的第一個學習項目,所以我正在努力
問題已經被問到,但我沒有找到有用的答案。
php代碼執行簡單的“Select *”,因此我檢索所有字段。
這是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.
此外,如果有任何比這更好的最佳做法,歡迎您。
checked
的HTML
屬性不應該獲取值,僅僅存在表示選中了單選按鈕。 這樣做:
<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
$owner=$row['owner'];
$owners= ['A'=>'', 'B'=> ''];
$owners[$owner] = 'checked';
<input type="radio" name="Owner" <?php echo $owners['A']?> value="A">A
<input type="radio" name="Owner" <?php echo $owners['B']?> value="B">B
我認為如果你在DB中有很多值,這很簡單,也很有用。
我嘗試了@trincot給出的答案,但它給了我錯誤,所以我做了一點改動來改進答案
<input type="radio" name="Owner" <?php if($row['Owner']=="A") {?> <?php echo "checked";?> <?php }?> value="A">A
<input type="radio" name="Owner" <?php if($row['Owner']=="B") {?> <?php echo "checked";?> <?php }?> value="B">B
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.