下拉菜单默认值(<select> dropdown default value)

2019-06-27 20:57发布

我有这样的代码:

if(isset($_POST['search']))
{
    $res1=mysql_query("SELECT * FROM aircraft where acode = '$_POST[ac]'") or die(mysql_error());
    while($row=mysql_fetch_array($res1))
    {
        $airc=$row['acode'];
        $amode=$row['amodel'];
        $stat=$row['status'];
        $rem=$row['remarks'];

    echo "<center><table><form name=\"frmMain\" method=\"post\"> 
        <tr><td><font face=consolas><b>Aircraft Code:</b></font></td><td><input type=text name=arc value='$airc' readonly=readonly></td></tr>
        <tr><td><font face=consolas><b>Aircraft Model:*</b></font></td><td><input type=text name=am value='$amode'></td></tr>
        <tr><td><font face=consolas><b>Status:*</b></font></td><td><input type=text name=st value='$stat'></td></tr>
        <tr><td><font face=consolas><b>Remarks:*</b></font></td><td><input type=text name=rm value='$rem'></td></tr></table>";
    }
}

在提交“搜索”按钮,该代码显示,从飞机表中的数据。 用户被允许与(*)符号来更新数据。

由于状态都默认以下(可用,不可用),我改变了这种

 <tr><td><font face=consolas><b>Status:*</b></font></td><td><input type=text name=st value='$stat'></td></tr>

这一点,

<tr><td><font face=consolas><b>Status:*</b></font></td><td><select name=st>
    <option value=Available>Available</option>
    <option value='Not Available'>Not Available</option>
</select></td></tr>

但我想它是依赖于默认值的下拉菜单,有$stat=$row['status']; 因为这是一个更新的形式。

如果检索的数据有它的状态“ 有空 ”,然后在下拉应该有它的默认值是“ 有空 ”。

我怎样才能做到这一点? 我试图<select name=status value='$stat'>但它不工作。 任何帮助将不胜感激。 谢谢!

Answer 1:

只是把selected="selected"取决于你的选项$row['status']

<option selected="selected" value="available">Available</option>


Answer 2:

写可用和不可用成阵列

$theArray = array("Available","Not Available");

循环中的数组:

<tr><td><font face=consolas><b>Status:*</b></font></td><td><select name=st>
<?php
foreach ($theArray as $key => $value) {
    if ($value == $stat) {
        echo('<option selected="selected" value='.$value.'>'.$value.'</option>');
    } else {
        echo('<option value='.$value.'>'.$value.'</option>');
    }
}
?>
</select></td></tr>

并且在每个循环中,我们检查,如果阵列中的值,是相同的,因为它是在变量,如果是这样,我们把所选择的有

理解其中的逻辑?



Answer 3:

<?php
$status = "navail";
?>
<select name="sel">
<option value="avail" <?php if($status == "avail") echo "SELECTED";?> > Avail </option>
<option value="navail" <?php if($status == "navail") echo "SELECTED";?> > Navail </option>
</select>


Answer 4:

您可以使用下面的代码做到这一点:

<?php
$stat=$row['status'];
$selected_a = ($stat == 'Available') ? 'selected' : '' ;
$selected_b = ($stat == 'Not Available') ? 'selected' : '' ;
?>
<select name=st> 
<option <?php echo $selected_a; ?> value='Available'>Available</option> 
<option <?php echo $selected_b; ?> value='Not Available'>Not Available</option> 
</select>


Answer 5:

您可以使用额外的选项标签定义变量值和选择像马克说:

<select name="role" id="role">
<!-- This is default define value using php variable $r -->
<option selected="selected" value="<?php echo $r; ?>" disabled="disabled"><?php echo $r; ?></option>

<!-- Other options values -->
<option value="2">Option-2</option><option value="2">Option-2</option>
</select>


Answer 6:

<select name=status>
<option value="available" <?php if($row['status']=="available") echo "selected=\"selected\""; ?>>Available</option>
<option value="unavailable" <?php if($row['status']=="unavailable") echo "selected=\"selected\""; ?>>Unvailable</option>
</select>

基本上回声选定=“选择了”根据所关注的域的值的选项。



Answer 7:

声明中的选项等的阵列

$ ARR =阵列( “可用”=> “可用”, “不可用”=> “不可用”);

输入下拉这样

echo form_dropdown("st", $arr, set_value("st", (isset($row['status'];) ? $row['status']; : ""))

这是在像笨框架中常用的方法..我认为它在PHP核心工作太..



Answer 8:

它的我第一次来这里,虽然我试图在PHP中使用的基本原则,不知道这可以帮助你,但如果你想抓住你的数据库上输入的违约值然后重新编辑,我建议你试试这个

<select name="st">
<?php if($row['status']=="Available"){?><option value="Available">Available</option><?php }?>
<?php if($row['status']=="Unavailable"){?><option value="Unavailable">Unavailable</option><?php }?>
</select>

假设在你的数据库中的列名是“状态”,给它一个尝试对我的作品



文章来源: 举报