[英]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.