繁体   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