Мне нужно установить состояние флажка с помощью загрузчика-переключателя на основе значений из базы данных MySQL.
Я пытаюсь сделать это с 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>';
}
Состояние проверки коммутатора кажется случайным и не основано на значениях, которые я получаю из БД.
Код выглядит нормально, я бы просто исправил оператор сравнения ===
быть уверенным в типе.
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"]
Вы можете даже просто использовать троичный оператор.
$devicestatus = ($checkdevicestate === "true") ? "checked='checked'" : '';
Других решений пока нет …