选择不接受PHP作为值的选项

选择不接受PHP作为值的选项,php,html,Php,Html,我返回一个当前在数据库中的值,当我回显它时,interval day现在等于5 现在,当我在选项表单中输入它时,它将始终返回“0” <?php $interval_day = $this->crud_model->auto_order_interval_day(); ?> Interval Day: <select name="interval_day"> <option value="<?php echo $interva

我返回一个当前在数据库中的值,当我回显它时,interval day现在等于5

现在,当我在选项表单中输入它时,它将始终返回“0”

  <?php $interval_day = $this->crud_model->auto_order_interval_day(); ?>
    Interval Day:   <select name="interval_day">
    <option value="<?php echo $interval_day ?>" selected disabled><?php echo $interval_day ?></option>
<option value='1'>1</option>

间隔日:

我不会那样做的。 如果您有一个select,其选项是从数据库源填充的,我希望它的构建方式如下:

$interval_day = $this->crud_model->auto_order_interval_day();

foreach ($interval_days as $day) {
  echo "<option value=\"$day\" ". ($interval_day === $day ? "selected disabled" : "") . ">$day</option>\n";
}
$interval\u day=$this->crud\u model->auto\u order\u interval\u day();
foreach($interval\u days作为$day){
回显“$day\n”;
}

如果您像在代码示例中那样执行此操作,那么如果
$interval\u day
为1会发生什么情况?然后你有一个重复的选项值,用于interval_day 1…

放一个分号
在您的声明之后。-<代码>
仍然无效,请向我们提供有关您想要实现的目标以及数据源外观的更多信息。这样做可能会在出现重复值的情况下破坏您的选项,并使“disabled”(已禁用)属性无效,因为用户只需选择附加在第一个条目下方的选项中的值。如果用户单击表单上的submit(提交),并且不想更改间隔日,它将自动保持不变,因此,我希望将interval day值作为第一个值回显到select语句中。另外,
disabled
form字段不返回值。如果要阻止用户的输入,请改用
readonly
,它应该位于
select
标记上,而不是
选项上。每个用户在数据库中只有一个interval day值。如果只有一个值,那么就有一个select字段,这会没有帮助吗?这有什么意义呢?这里有30个值我只是把它作为一个例子如果我理解的正确,有30个值可供选择,每个用户只能分配一个值?这正是上面的代码对我们有用的地方
$interval\u days
是迭代器(一个数组),在这种情况下,它包含所有30个值。只需使用这些值初始化该变量,它将立即生效。不,interval day是数据库中的一个值,只能是一个值。此表单基于更新