簡體   English   中英

PHP-使用while循環在回顯中輸出並填充下拉框

[英]PHP - output and populate dropdown box using while loop, inside echo

我有一個php“更新”頁面,在該頁面中,我使用現有的數據庫記錄將字段數據加載到它們各自的輸入字段中,並由用戶根據需要進行編輯。 其中大多數顯示在文本框中,可以很好地在單個echo語句中包括HTML和PHP如下所示:

<?php echo"<input type=\"text\" name=\"age\" value=\"{$age}\" class=\"textbox\"><br>"?>

當遇到嘗試使用PHP填充並在下拉框中設置初始值時,我遇到的問題是嘗試使用類似的方法。 這是相關的代碼:

$query = "SELECT raceID, RaceName FROM races";
$result = $conn->query($query);

<?php echo
"<select value=\"{$racingIn}\">
while ($rowRace = $result->fetch_assoc()){
//add all rows in database collection to dropdown box for selection
<option name=\"racingIn\" value=\"{$rowRace['raceID']}\">{$rowRace['RaceName']}</option>;
}
</select><br>"
?>

它幾乎可以工作,但是我不斷在$rowRace上收到錯誤消息,告訴我$rowRace變量未定義。 我知道不是這種情況,因為它在程序的其他地方使用過,並且在原始的2個單獨的PHP跨度合並為一個之前一直工作良好。 我認為這可能與缺少PHP變量的{}括號有關。

對此的任何建議,無論是解決現有問題還是建議一種更簡便的方法,都將受到極大的贊賞。

謝謝馬克

嘗試這樣:-

<select name="race">
<?php
while ($rowRace = $result->fetch_assoc()){
//add all rows in database collection to dropdown box for selection
?>
<option name="racingIn" value="<?php echo $rowRace['raceID'] ?>"><?php echo $rowRace['RaceName']; ?></option>
<?php
} ?>
</select>

假設存在一個帶有選定“ raceID”值的變量$selectedRaceID (類似於上面的$age ):

echo '<select name="race">';
while ($row = $result->fetch_assoc()) {
    echo '<option value="'. $row['raceID'] .'"';
    echo ($selectedRaceID == $row['raceID']) ? ' selected' : '';
    echo '>'. $row['RaceName'] .'</option>';
}
echo '</select>';

我還使您的HTML有效(例如,SELECT不能具有VALUE屬性)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM