簡體   English   中英

PHP:在下拉列表中檢索所有可能的選項,並為特定記錄選擇選項

[英]PHP: Retrieve all possible options within a dropdown and select option for specific record

我對PHP還是很陌生,我正在創建一個頁面來更新特定記錄。 我已將一個ID傳遞到頁面的URL中,並使用該ID獲取該記錄的特定數據。

我遇到的麻煩是下拉列表。 我想拉出該下拉菜單的所有可能選項(來自不同的表),並進行了排序。

$status_sql = "SELECT DISTINCT AssetStatus.AssetStatusTitle AS HardwareAssetAssetStatusTitle, HardwareAssetAssetStatusID FROM HardwareAsset INNER JOIN AssetStatus ON (AssetStatus.AssetStatusID = HardwareAsset.HardwareAssetAssetStatusID) ORDER BY HardwareAssetAssetStatusTitle ASC";
$status = sqlsrv_query($database_connection, $status_sql);
while($status_option = sqlsrv_fetch_object($status)){
    echo "<option value='$status_option->HardwareAssetAssetStatusID'>".$status_option->HardwareAssetAssetStatusTitle."</option>";
}

當我想為該記錄選擇一個選項時,就會出現問題。 我知道要獲得特定的選項,我需要以下幾點:

$status_sql = "SELECT DISTINCT AssetStatus.AssetStatusTitle AS HardwareAssetAssetStatusTitle, HardwareAssetAssetStatusID FROM HardwareAsset INNER JOIN AssetStatus ON (AssetStatus.AssetStatusID = HardwareAsset.HardwareAssetAssetStatusID)  WHERE HardwareAssetID = '".$HardwareAssetID."'";

但是如何將兩者結合在一起? 具有選定的選項,默認情況下在加載時處於選中狀態,打開下拉列表時所有其他選項均可用。

我花了大量時間在網上搜索,但我認為我沒有在尋找正確的東西,因為我還沒有真正找到任何東西。 任何幫助表示贊賞。

您不必修改原始的SELECT查詢並將WHERE子句放入其中。 只需按照以下方式更改while循環,

while($status_option = sqlsrv_fetch_object($status)){
    $output = "<option value='$status_option->HardwareAssetAssetStatusID'";
    if($status_option->HardwareAssetAssetStatusID == $HardwareAssetID){
        $output .= " selected='selected'";
    }
    $output .= ">".$status_option->HardwareAssetAssetStatusTitle."</option>";
    echo $output;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM