2017-04-13 149 views
1

我需要使用bootstrap-switch基於mysql數據庫中的值設置複選框的狀態。使用PHP或jQuery設置Bootstrap-Switch複選框選中狀態

我想用PHP這樣做,但它似乎沒有工作,代碼是摘錄:

while ($row = $result->fetch_assoc()) { 

    $checkdevicestate = $row["devicestatus"]; 
    if ($checkdevicestate == "false") { 
     $devstatus = ""; 
    } else if ($checkdevicestate == "true") { 
     $devicestatus = "checked"; 
    } 

    $devicecontent .= '<tr><td style="width:60%"><span data-icon="7" class="linea-icon linea-basic fa-fw"></span>'. $row["devicename"] .'</td><td style="width:100%"><input type="checkbox" id="' . $row["devicecode"].'" '.$devicestatus.' class="devicebtn"data-on-color="info" data-size="small"data-off-color="danger"></td></tr>'; 
} 

開關檢查狀態似乎隨機的,不是基於價值我從DB接收。

回答

0

代碼看起來不錯我只是修復比較運算符到===以確定類型。

while ($row = $result->fetch_assoc()) { 
    $checkdevicestate = $row["devicestatus"]; 
    if ($checkdevicestate === "false") { 
     $devstatus = ""; 
    } else if ($checkdevicestate === "true") { 
     $devicestatus = "checked"; 
    } 

    $devicecontent .= '<tr><td style="width:60%"><span data-icon="7" class="linea-icon linea-basic fa-fw"></span>'. $row["devicename"] .'</td><td style="width:100%"><input type="checkbox" id="' . $row["devicecode"].'" '.$devicestatus.' class="devicebtn"data-on-color="info" data-size="small"data-off-color="danger"></td></tr>'; 
} 

如果你沒有在$row["devicestatus"]什麼奇怪的狀態,你甚至可以只用一個ternary operator

$devicestatus = ($checkdevicestate === "true") ? "checked='checked'" : ''; 
+0

謝謝!我根據你的建議修改了我的代碼。感謝您的幫助:) – Bruno

+0

不客氣:) – borracciaBlu