PHP Mysqli HTML如何从<select> </select>中选择的数据库中获取当前值

时间:2014-10-23 14:50:06

标签: php html mysqli

我的目标是从下拉列表中选择的数据库中获取当前值。 我尝试了该代码,但它在下拉列表中始终显示“Ndone”

<select name="work" id="work" value="<?php echo $work; ?>">
     <option selected="selected" value=""></option>
     <option selected="selected" value="DONE">DONE</option>
     <option selected="selected" value="NDONE">NDONE</option>
</select>

这也就是在下拉列表中选择的第一行

<select name="work" id="work" value="<?php echo $work; ?>">
     <option value=""></option>
     <option value="DONE">DONE</option>
     <option value="NDONE">NDONE</option>
</select>

我不知道该怎么办,请帮忙

当我使用文本字段时,它有效,所以变量$work

没有问题
<input type="text" name="work" value="<?php echo $work; ?>"/>

2 个答案:

答案 0 :(得分:1)

<select>没有&#34;值&#34;属性。您必须将selected属性添加到一个选项。

<?php
$options = array(
    '',
    'DONE',
    'NDONE',
);
?>

<select name="work" id="work">
    <?php foreach ($options as $option): ?>
        <option value="<?php echo $option ?>"<?php echo $option === $work ? ' selected="selected"' : '' ?>><?php echo $option ?></option>
    <?php endforeach ?>
</select>

答案 1 :(得分:0)

根据您的示例,您可以这样做:

您只需要针对$ work变量检查每个选项值,如果匹配则添加所选属性。

<select name="work" id="work">
     <option value=""></option>
     <option value="DONE" <?php echo($work == 'DONE'?'selected="selected"':''); ?>>DONE</option>
     <option value="NDONE" <?php echo($work == 'NDONE'?'selected="selected"':''); ?>>NDONE</option>
</select>