[英]Option select for loop PHP + Mysql
代替此行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 Series_drop_down_box_options(144, 210, $display_profile['height']);
function Series_drop_down_box_options($start,$end,$default="",$step=1,$packed=0,$packed_char="0")
{
$output = '';
if( (is_integer($start)) && (is_integer($end)) )
{
if($start<$end)
{
for($i=$start;$i<=$end;$i+=$step)
{
if($packed>0)
{
$value=str_pad($i, $packed, $packed_char, STR_PAD_LEFT);
}
else
{
$value=$i;
}
$output.= '<option value="';
$output.= $value;
if ($default==$value)
{
$output.= '" selected>';
}
else
{
$output.= '">';
}
$output.= $value;
$output.= '</option>';
$output.= "\n";
}
}
else
{
for($i=$start;$i<=$end;$i-=$step)
{
if($packed>0)
{
$value=str_pad($i, $packed, $packed_char, STR_PAD_LEFT);
}
else
{
$value=$i;
}
$output.= '<option value="';
$output.= $value;
if ($default==$value)
{
$output.= '" selected>';
}
else
{
$output.= '">';
}
$output.= $value;
$output.= '</option>';
$output.= "\n";
}
}
}
if( (is_string($start)) && (is_string($end)) )
{
$chr_start=ord($start);
$chr_end=ord($end);
if($chr_start<$chr_end)
{
for($i=$chr_start;$i<=$chr_end;$i+=$step)
{
$letter=chr($i);
$output.= '<option value="';
$output.= $letter;
if ($default==$letter)
{
$output.= '" selected>';
}
else
{
$output.= '">';
}
$output.= $letter;
$output.= '</option>';
$output.= "\n";
}
}
else
{
for($i=$chr_start;$i<=$chr_end;$i-=$step)
{
$letter=chr($i);
$output.= '<option value="';
$output.= $letter;
if ($default==$letter)
{
$output.= '" selected>';
}
else
{
$output.= '">';
}
$output.= $letter;
$output.= '</option>';
$output.= "\n";
}
}
}
if( (is_array($start)) && (is_array($end)) )
{
$limit=min(sizeof($start),sizeof($start));
for($i=0;$i<$limit;$i++)
{
$output.= '<option value="';
$output.= $start[$i];
if ($default==$start[$i])
{
$output.= '" selected>';
}
else
{
$output.= '">';
}
$output.= $end[$i];
$output.= '</option>';
$output.= "\n";
}
}
return $output;
}
这是工作代码:) Thanx Waygood
<?php echo Series_drop_down_box_options(144, 210, $display_profile['height']); ?>
然后下面的功能=)
<?php function series_drop_down_box_options($start,$end,$default="",$step=1,$packed=0,$packed_char="0") {
$output = '';
echo '<option value="Not set">Not set</option>';
if( (is_integer($start)) && (is_integer($end)) )
{
if($start<$end)
{
for($i=$start;$i<=$end;$i+=$step)
{
if($packed>0)
{
$value=str_pad($i, $packed, $packed_char, STR_PAD_LEFT);
}
else
{
$value=$i;
}
$output.= '<option value="';
$output.= $value;
if ($default==$value)
{
$output.= '" selected>';
}
else
{
$output.= '">';
}
$output.= $value;
$output.= '</option>';
$output.= "\n";
}
}
else
{
for($i=$start;$i<=$end;$i-=$step)
{
if($packed>0)
{
$value=str_pad($i, $packed, $packed_char, STR_PAD_LEFT);
}
else
{
$value=$i;
}
$output.= '<option value="';
$output.= $value;
if ($default==$value)
{
$output.= '" selected>';
}
else
{
$output.= '">';
}
$output.= $value;
$output.= '</option>';
$output.= "\n";
}
}
}
if( (is_string($start)) && (is_string($end)) )
{
$chr_start=ord($start);
$chr_end=ord($end);
if($chr_start<$chr_end)
{
for($i=$chr_start;$i<=$chr_end;$i+=$step)
{
$letter=chr($i);
$output.= '<option value="';
$output.= $letter;
if ($default==$letter)
{
$output.= '" selected>';
}
else
{
$output.= '">';
}
$output.= $letter;
$output.= '</option>';
$output.= "\n";
}
}
else
{
for($i=$chr_start;$i<=$chr_end;$i-=$step)
{
$letter=chr($i);
$output.= '<option value="';
$output.= $letter;
if ($default==$letter)
{
$output.= '" selected>';
}
else
{
$output.= '">';
}
$output.= $letter;
$output.= '</option>';
$output.= "\n";
}
}
}
if( (is_array($start)) && (is_array($end)) )
{
$limit=min(sizeof($start),sizeof($start));
for($i=0;$i<$limit;$i++)
{
$output.= '<option value="';
$output.= $start[$i];
if ($default==$start[$i])
{
$output.= '" selected>';
}
else
{
$output.= '">';
}
$output.= $end[$i];
$output.= '</option>';
$output.= "\n";
}
}
return $output;
}?>
祝你好运! =)
我修复了您的原始代码: echo
过多,并添加了selected
属性:
<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='$i'>$i</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='$i'";
if($display_profile['height'] == $i) {
echo ' selected="selected"';
}
echo ">$i</option>";
}
}
?>
</select>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.