[英]<select> dropdown default value
我有這個代碼:
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'>
但它不起作用。 任何幫助將不勝感激。 謝謝!
只需根據您的$row['status']
將selected="selected"
放在選項上,
<option selected="selected" value="available">Available</option>
將可用和不可用寫入數組
$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>
在每個循環中,我們檢查數組中的值是否與變量中的值相同,如果是,我們將選定的值放在那里
明白邏輯嗎?
<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>
基本上 echo selected="selected" 取決於相關字段的值。
<?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>
您可以從數據庫中設置選定的下拉選項,如下所示:
<select name="status">
<option <?php echo ($row['status'] == 'Available') ? 'selected' : '' ?> value='Available'>Available</option>
<option <?php echo ($row['status'] == 'Not Available') ? 'selected' : '' ?> value='Not Available'>Not Available</option>
</select>
您可以使用附加選項標簽定義變量值,並將其標記為已選擇,例如:
<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>
在數組中聲明選項,如
$arr = array("available" => "available","unavailable" => "unavailable");
並像這樣輸入下拉菜單
echo form_dropdown("st", $arr, set_value("st", (isset($row['status'];) ? $row['status']; : ""))
這是 codeigniter 等框架中常用的方法..我認為它也適用於核心 php..
這是我第一次來這里,我嘗試在 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>
假設您的數據庫中的列名是“狀態”,試一試對我有用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.