我有这段代码:
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'>
,但它不起作用。任何帮助将不胜感激。谢谢!
答案 0 :(得分:11)
根据您的selected="selected"
,
$row['status']
<option selected="selected" value="available">Available</option>
答案 1 :(得分:3)
将可用和不可用写入数组
$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>
并在每个循环中检查数组中的值是否与变量中的值相同,如果是,我们将选中的值放在那里
理解逻辑?
答案 2 :(得分:1)
<?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>
答案 3 :(得分:1)
您可以使用以下代码执行此操作:
<?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>
答案 4 :(得分:1)
您可以使用其他选项标记定义变量值,并将其标记为选中,如:
<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>
答案 5 :(得分:0)
<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>
根据相关字段的值,选择基本上为选项选择=“已选择”。
答案 6 :(得分:0)
声明像
这样的数组中的选项$ arr = array(“available”=&gt;“available”,“unavailable”=&gt;“unavailable”);
并像这样输入下拉列表
echo form_dropdown("st", $arr, set_value("st", (isset($row['status'];) ? $row['status']; : ""))
这是像codeigniter这样的框架中常用的方法..我认为它也适用于核心php ..
答案 7 :(得分:0)
这是我的第一次,但是我尝试在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>
假设数据库中的列名称为“状态”,请尝试一下对我有用