繁体   English   中英

选项选择循环PHP + Mysql

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM