如何在下拉框中设置所选项目

tar*_*eld 15 php mysql select drop-down-menu

有没有办法使用以下"类型"代码在下拉框中设置所选项?

<select selected="<?php print($row[month]); ?>"><option value="Janurary">January</option><option value="February">February</option><option value="March">March</option><option value="April">April</option></select>
Run Code Online (Sandbox Code Playgroud)

数据库持有一个月..我想允许在编辑页面上,他们选择这个月..但它预先填充了他们当前的设置?

Gre*_*reg 57

您需要设置正确选项标记的selected属性:

<option value="January" selected="selected">January</option>
Run Code Online (Sandbox Code Playgroud)

您的PHP看起来像这样:

<option value="January"<?=$row['month'] == 'January' ? ' selected="selected"' : '';?>>January</option>
Run Code Online (Sandbox Code Playgroud)

我通常发现创建一个值数组并在其中循环以创建下拉列表更为全面.

  • <?=有效 - 它为你做了回音 (4认同)

Jam*_*are 15

您在标记上标记所选项目<option>,而不是<select>标记.

所以你的代码应该是这样的:

<select>
    <option value="January"<?php if ($row[month] == 'January') echo ' selected="selected"'; ?>>January</option>
    <option value="February"<?php if ($row[month] == 'February') echo ' selected="selected"'; ?>>February</option>
    ...
    ...
    <option value="December"<?php if ($row[month] == 'December') echo ' selected="selected"'; ?>>December</option>
</select>
Run Code Online (Sandbox Code Playgroud)

通过将所有月份名称放在数组中并使用基本名称,可以减少重复次数foreach.

  • 专业提示:将选项的文本重复作为“值”声明绝对没有任何好处。 (2认同)

Fre*_*oux 5

如果使用MySQL数据库,则可以使用此方法:

include('sql_connect.php');
$result = mysql_query("SELECT * FROM users WHERE `id`!='".$user_id."'");
while ($row = mysql_fetch_array($result))
{
    if ($_GET['to'] == $row['id'])
    {
        $selected = 'selected="selected"';
    }
    else
    {
    $selected = '';
    }
    echo('<option value="'.$row['id'].' '.$selected.'">'.$row['username'].' ('.$row['fname'].' '.substr($row['lname'],0,1).'.)</option>');
}
mysql_close($con);
Run Code Online (Sandbox Code Playgroud)

它将比较$ _GET ['to']中的用户是否与表中的$ row ['id']相同,如果是,则将创建$ selected.这是一个私人消息系统......


Muh*_*had 5

通过使用三元运算符在 php 中设置选定值的简单易懂的示例

<?php $plan = array('1' => 'Green','2'=>'Red' ); ?>
<select class="form-control" title="Choose Plan">
<?php foreach ($plan as $id=> $value) { ?>
  <option value="<?php echo $id;?>" <?php echo ($id==  '2') ? ' selected="selected"' : '';?>><?php echo $value;?></option>
<?php } ?>
</select>
Run Code Online (Sandbox Code Playgroud)