【问题标题】:<select> Default Value [duplicate]<select> 默认值 [重复]
【发布时间】:2016-10-31 09:43:47
【问题描述】:

我有一个问题,我想保存用户输入,然后允许他们稍后进行编辑。

当我列出编辑结果时,它们不是默认值。

<select id="edit_group" name="edit_group" class="form-control">
 <?php Types("") ?>
</select>

类型函数是

function Types($x){

global $mysqli;

    $type = " SELECT type FROM types ";

    if ($type_results = $mysqli->query($type)) {

        while ($row = $type_results->fetch_assoc()) {
        printf ("<option>%s</option>", $row["type"]);
        }

        $type_results->free();

        }

}

如果有人能指出我如何设置默认值以使其存储在数据库中的正确方向,那真的会帮助初学者。或者更好地指出我正确的文档方向,因为我的谷歌搜索只返回了 json 和 java 选项。

【问题讨论】:

  • if ($row['type'] == 'previously selected value') { add 'selected' attribute to option }
  • 您在代码中的哪个位置确定哪一个存储在数据库中?您需要将该值传递给您的 Types 函数,以便知道应将哪个选项标记为选中。
  • 我有这个值,可以轻松传递,但我想不出如何使这个值成为默认值

标签: php mysqli


【解决方案1】:

您不使用 Types 函数的参数 $x 我猜这是一个选定的值。尝试用以下代码替换您的函数:

function Types($x) {    
    global $mysqli;

    $type = " SELECT type FROM types ";

    if ($type_results = $mysqli->query($type)) {
        while ($row = $type_results->fetch_assoc()) {
            $selected = ($row["type"] == $x) ? 'selected="selected"' : '';
            printf ("<option %s>%s</option>", $selected, $row["type"]);
        }

        $type_results->free();
    }    
}

当然还可以在您的 html 代码中为函数 Types 提供选定的值。

【讨论】:

  • 您先生是个巫师!非常感谢!尽管 $selected = ($row["type"] == $x) 我的大脑很困惑? 'selected="selected"' : '';这条线实际上在做什么?你能把我链接到这方面的一些文档吗?
  • 这是一个三元运算符 (php.net/manual/en/language.operators.comparison.php)。简而言之,它等于 if ($row["type"] == $x) { $selected = 'selected="selected"'; } 其他 { $selected = ''; } .
  • 这就是为什么我当时的大脑是难以置信的!我知道这是一个 if 或更简单的东西,但找不到它的名字,再次感谢!
猜你喜欢
  • 2012-08-30
  • 1970-01-01
  • 2015-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-27
相关资源
最近更新 更多