我正在使用 PHP MySQL 查询填充选择列表。同时,我也想将select值设置为db中的当前值。就这样
1) 查询关联表并填充 <select>
每个条目作为 <option>
2) 设置<select>
数据库中当前条目的值
现在我正在这样做,但是当我查看页面时 <select>
只是第一个选项值。
echo '
<select name = "arena" type = "text" value = "'.$row['arena'].'"> ';
try{
$retrieveArena = $db->prepare("SELECT arena_id AS key1, arena_name AS val1 FROM arenas");
$retrieveArena->execute();
$retrieveArenaResult = $retrieveArena->fetchAll(PDO::FETCH_ASSOC);
if ($retrieveArena->rowCount() > 0){
foreach ($retrieveArenaResult as $arena){
echo '<option value = "'.$arena['key1'].'">'. $arena['val1'].'</option>
';
}
}else{
returnMsg("No arenas found");
}
}
catch(PDOException $e){
echo $e->getMessage();
}
echo '
</select>';
最佳答案
您需要提供正确的 <option>
标记 selected
属性。所以你需要知道选择的选项应该是什么。然后您可以使用这样的代码来构建选项。
foreach ($retrieveArenaResult as $arena){
echo '<option value = "' . $arena['key1'] .'"';
if (this option is selected) {
echo ' selected';
}
echo '>'. $arena['val1'].'</option>
';
}
关于php - 在填充时设置 <select> 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24724159/