我有一个foreach循环,它显示了一个选项列表,其中包含中的所有国家
foreach($countries as $cc => $name) {
echo '<option value="' . $name . '">' . $name . '</option>';
}
所选选项将保存在数据库中。我想做的是,如果我回到这个页面,它显示了数据库中已经选择的选项。我该怎么做?
谢谢。
只需将所选属性放在要选择的属性上
foreach ($countries as $name) {
if ($yourselectedValue == $name) {
$selected = 'selected';
} else {
$selected = '';
}
echo '<option value="' . $name . '" '.$selected.'>' . $name . '</option>';
}
试试这个:
//$saved_option = get saved option or selected option
foreach($countries as $cc => $name) {
if ($saved_option == $name) {
echo '<option value="' . $name . '" selected="selected">' . $name . '</option>';
} else {
echo '<option value="' . $name . '">' . $name . '</option>';
}
}
检索国家id并将其存储在变量中
$query = "SELECT country_id FROM Tablename WHERE YOUR_CONDITION";
$result = mysqli_query($connection, $query);
if (mysqli_num_rows($result) > 0)
{
$row = mysqli_fetch_assoc($result);
$selectedOption = $row['country_id'];
}
else
{
$selectedOption = ''; // Your default selection of $cc
}
选择框
以下代码显示了国家/地区阵列的所有选项$cc将使用数据库值($selectedOption)进行检查,默认情况下将选择该国家/地区。
$Option = '';
foreach ($countries as $cc => $name)
{
if ($cc == $selectedOption)
{
$Option .= '<option value="'.$cc.'" selected="selected">'.trim($name).'</option>';
}
else
{
$Option .= '<option value="'.$cc.'">'.trim($name).'</option>';
}
}
<select name="country_id" id="country_id">
<?php echo $Option;?>
</select
$previousselect = database query;
foreach($countries as $cc => $name) {
echo '<option value="' . $name .'" '. ($previousselected == $name) ? 'selected' .'>' . $name . '</option>';
}
或者当您创建选择对象时
<select name="arbitraryname" value="' . echo($previousselect); . '">
对不起,我只是很快就输入了它。不需要语法,只需要方法
$previousselect = database query;
foreach($countries as $cc => $name) {
echo '<option value="' . $name .'" '. ($previousselect == $name ? 'selected' : '') .'>' . $name . '</option>';
}
应该是正确的语法