2012-09-23 73 views
0

下拉列表中的值,我想在下拉列表中的項目,如果該值與數據庫中的值對應於被選擇。選擇取決於分貝值

這是到目前爲止我的代碼...

$hardware_type = $row['type']; 

//pull names from hardware types from databse 
$sql = "SELECT * FROM s_num_serialz_types ORDER BY type ASC"; 
$result = $mysqli->query($sql) or die($mysqli->error.__LINE__); 
$type_dropdown = '<select id="serial_type" class="accounts_input_dropdown" type="text" name="serial_type" selected="'.$_POST['serial_type'].'"/><option></option>'; 
while($row = mysqli_fetch_assoc($result)){ 
    if($row['type'] != $hardware_type){ 
    $type_dropdown .= "\r\n<option value='{$row['type']}'>{$row['type']}</option>"; 
    }else{ 
     $type_dropdown .= "\r\n<option value='{$row['type']} selected=\"selected\">{$row['type']}</option>"; 
    } 
} 
$type_dropdown .= "\r\n</select>"; 

我曾嘗試編寫這些代碼的幾種方法,並沒有似乎工作。我第一次嘗試......

while($row = mysqli_fetch_assoc($result)){ 
    if($row['type'] == $hardware_type){ 
    $type_dropdown .= "\r\n<option value='{$row['type']} selected=\"selected\">{$row['type']}</option>"; 
    }else{ 
     $type_dropdown .= "\r\n<option value='{$row['type']}'>{$row['type']}</option>"; 
    } 
} 

此選擇列表中正確的項目,但包含此列表不顯示窗體的其餘部分。

任何幫助將你的第一次嘗試(第二個代碼示例)中不勝感激

回答

0

您在這裏

<option value='{$row['type']} 

一個錯字缺少收盤'。你也在混合單引號和雙引號,這對標準來說不是最好的。

可能我建議你這個緊湊的版本:

while($row = mysqli_fetch_assoc($result)){ 
    $selected = ($row['type'] == $hardware_type) ? " selected='selected'" : ''; 
    $type_dropdown .= "\r\n<option value='{$row['type']}'$selected>{$row['type']}</option>"; 
} 
+0

非常感謝你 – tatty27

0

value='{$row['type']}缺少右單引號關閉value屬性值 - 這可能是足以讓瀏覽器退出後呈現表單元件。

value='{$row['type']}' 
+0

非常感謝你 – tatty27