我有一个php'更新'我使用现有数据库记录将字段数据加载到各自的输入字段中的页面,用户可以根据需要进行编辑。 其中大部分都显示在文本框中,这样可以正常工作,包括HTML和PHP在单个echo语句中,如下所示:
<?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>"
?>
它几乎可以正常工作,但我继续在pageload上收到错误,告诉我$rowRace
变量未定义。我知道这不是这种情况,因为它在程序的其他地方使用并且确实工作正常,直到最初的2个单独的PHP跨度合并为一个。我认为这可能与PHP变量周围缺少{}
括号有关。
对此有任何建议,无论是修复现有建议还是建议采用更简单的方法,都会受到大力赞赏。
谢谢, 标记
答案 0 :(得分:1)
试试这样: -
<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>
答案 1 :(得分:0)
假设有一个带有所选&#34; raceID&#34;的变量$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属性)。