[英]Display different background color for DIV's, based on a result individual digits value 0/1
在一种形式中,我正在使用 java 脚本形成一个字符串,并将其结果收集到 SQLite 表中,即 state 的 12 个复选框,位于二进制值字符串(如“000011111100”)下。
<script>
const checkboxes = [...document.querySelectorAll('input[type=checkbox]')];
function RegMD() {
document.getElementById("mounths").textContent = checkboxes.reduce((a, b) => a + (b.checked ? 1 : 0), "");
document.getElementById("results").innerHTML = document.getElementById("mounths").innerHTML;
}
</script>
字符串形成后通过 POST 方法发送到 SQLite 表中。 回调这个值也很简单,因为我可以用 PHP 脚本回显它(或多或少像这样)
<?php
try {
$conn = new PDO('sqlite:db/MyDatabase.db');
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT months FROM MyTable where MyID='this_value'");
$stmt->execute();
$data = $stmt->fetchcolumn(PDO::FETCH_ASSOC);
if ( !empty($data) ) {
echo $data['mounths'];
}
} else {
echo "Record missing!";
}
} catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
?>
这个值不需要可见,我可以隐藏它或者根本不回显它。 但我想以不同的方式使用它。 当我回忆起这个值时,我希望它把它分成单独的值“0”和“1”,并根据这些值,我想将 12 个 DIV(或表格单元格)着色为一些预定义的 colors:
$color1 = red;
$color2 = white;
我知道为了实现我的目标,我应该从这里做一些类似的事情,并以某种方式对其进行调整: Change Row background color based on cell value
$data( function(value){
if(value == "0"){
html += '<div style="background-color: red;">'+some_content+'</div>';
}
else{
html += '<div style="background-color: white;">'+some_content+'</div>';
}
});
我在这些文章中发现了一些类似的问题(着色和拆分),但我自己无法应用: PHP - 根据 mysql 行结果显示不同的图像 根据条件拆分为不同的行SQL - 根据不同的月份将行拆分为多个基于结果的行颜色 PHP 将 SQL 行数组拆分为多个 arrays 基于日期在 ng-repeat 中基于 $index 拆分 div 背景颜色
你能帮我实现这样的目标吗: 从我从数据库中调用字符串值的步骤开始(数据库列名“mounths”)?
<p hidden><?php echo $data['mounths']; ?></p>
如果不需要隐藏结果就更好了。
$html = ''; // predefine $html in case array is empty
foreach($data as $column=>$value){
$color = !$value ? 'red' : 'white'; // set color based on value
$html.="<div style='color:$color;'>--Some-Content--</div>"; // append to html
}
echo $html;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.