2017-01-29 5 views
1

Ich bin immer noch wirklich neu in PHP, ich erstelle eine Seite zum Aktualisieren eines bestimmten Datensatzes. Ich habe eine ID an die URL der Seite übergeben und die ID verwendet, um spezifische Daten für diesen Datensatz abzurufen.PHP: Abrufen aller möglichen Optionen in einem Dropdown und Auswahl der Option für einen bestimmten Datensatz

Das Problem, das ich habe, ist mit Dropdown-Listen. Ich möchte alle möglichen Optionen für dieses Dropdown (das von einer anderen Tabelle kommt) zurückziehen, und ich habe das sortiert.

$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>"; 
} 

Das Problem kommt, wenn ich eine Option bereits für diesen Datensatz ausgewählt haben möchte. Ich weiß, um die spezifische Option zu bekommen, ich brauche Folgendes:

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

aber wie kombiniere ich diese beiden zusammen? Die ausgewählte Option ist standardmäßig beim Laden ausgewählt und alle anderen Optionen sind beim Öffnen des Dropdownfensters verfügbar.

Ich habe ziemlich viel Zeit damit verbracht, online zu suchen, aber ich glaube nicht, dass ich nach dem richtigen Ding suche, da ich nicht wirklich etwas gemacht habe. Jede Hilfe wird geschätzt.

+0

Verwendung einer ternären Operator –

+0

nach einigen Recherchen auf ternäre Operatoren, wurde es dank. – TheTechnicalPaladin

+0

du bist willkommen Joel. –

Antwort

2

Sie müssen die ursprüngliche SELECT Abfrage nicht ändern und setzen WHERE Klausel darin. Ändern Sie einfach Ihre while Schleife in der folgenden Art und Weise,

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; 
} 
Verwandte Themen