【发布时间】:2012-08-17 11:15:42
【问题描述】:
代替这一行 50 次
<option value="<?php echo $settings_profile_not_set;?>" <?php if($display_profile['1'] == $settings_profile_one) { echo "selected"; }?>>
<?php echo $settings_profile_one;?>
</option>
对于每个选项,我想以循环方式执行此操作。 这是我的例子:
<select name="profile_height">
<?php
if ($display_profile['height'] == $settings_profile_not_set)
{
?>
<option value="<?php echo $settings_profile_not_set;?>" <?php if($display_profile['height'] == $settings_profile_not_set) { echo "selected"; }?>><?php echo $settings_profile_not_set;?></option>
<?php
//Function which displays all the centimeters that are available
for( $i=144; $i<=210; $i++ )
{
echo '<option value="';
echo $i;
echo '">';
echo $i;
echo "</option>";
}
} else {
?>
<option value="<?php echo $settings_profile_not_set;?>"><?php echo $settings_profile_not_set;?></option>
<?php
for( $i=144; $i<=210; $i++ )
{
echo '<option value="';
echo $i;
echo '" ';
if($display_profile['height'] == $i) {
echo '"selected"';
}
echo ' >';
echo $i;
echo "</option>";
}
}
?>
</select>
现在它会打印出所有数字,但从数据库读取时不会打印出选定的数字。我知道我在某处做错了什么,但可以提出建议,并给出工作示例。
提前感谢
【问题讨论】:
-
你不需要那么多不同的
echo。改用串联,每次只占用一行:echo "<option value='$i'>$i</option>"; -
你没有给属性
selected赋值(虽然它有时有效),你应该给属性值'selected'描述@ 987654321@