我怎么能添加selected=selected保存我的下拉菜单,如果有一个错误在我的形式


How can i add selected=selected to save my dropdown if there is an error in my form?

我有两个php文件,一个是my_class类其中有一个函数叫做dropit()

这个函数看起来像

@res = DataBase::database("select id, name,image from product");
echo "<option value="0">Select one</option>";
if($res){
    foreach($res as $value){
        echo "<option value='{$value[id]}' data-image='{$value['image']}'>{$value['name']} -- {$value['id']}</option>"
    }
}
echo "</select>"

然后在索引PHP中有一个下拉列表用

填充
<?php my_class::dropit(); ?>

如果有一个错误在我的形式,我希望下拉菜单停留在选定的项目

你可以检查你的选择值是否在$_POST,而在foreach()循环检查,看看它是否匹配当前值

@res = DataBase::database("select id, name,image from product");
echo "<option value="0">Select one</option>";
if($res){
    foreach($res as $value){
        $selected = isset($_POST['nameofyourselect']) && $_POST['nameofyourselect'] == $value[id]) ? " selected='selected'" : "";
        echo "<option value='{$value[id]}' data-image='{$value['image']}'{$selected}>{$value['name']} -- {$value['id']}</option>"
    }
}
echo "</select>"