我迫切希望找到一种解决方案,以解决这种情况。
我正在尝试创建一个Google图表表格,该表格每年会自动更新列数。
SQL程序现在每年都会增加一列,并计算所有数字,从2006年开始,该网页会在Google图表表格和图表中显示结果。
动态地在每个新年添加一个新列(已解决)。
每年动态地向数组添加一行。
正确的数据格式。
SQL程序现在从2006年开始每年都会增加一列,并对所有数字进行计数。
ID Type Month O2015 O2016 O2017 O2018 O2019
1 1 1 4346 3180 3409 4345 857
$sqltest1= "SELECT Month, O2006, O2007, O2008 FROM TESTOVACI100 WHERE Type = 1;";
$test1= sqlsrv_query($conn, $sqltest1);
function drawSecondTable() {
var data = new google.visualization.DataTable();
var d = new Date();
var n = d.getFullYear();
//Funguje
var columns = '<?php echo $column_count ;?>';
/*
var showdata = <?php
while($row = sqlsrv_fetch_array($obratmesice, SQLSRV_FETCH_ASSOC)){
echo "['".$row["Month"]."', ".$row["O2006"].", ".$row["O2007"].", ".$row["O2008"]."],";}
?>
*/
data.addColumn('number', 'Month');
for (var i = 2006; i < n + 1; i++){
data.addColumn('number', 'O' + i);}
Data.addRow(showdata);
var table = new google.visualization.Table(document.getElementById('table_div2'));
table.draw(data, {showRowNumber: false, width: '100%', height: '100%'});
}
正如您在代码的注释部分中看到的那样,我手动添加一列-月,由于实际年份的缘故,其余列会自动添加。
我的问题是...如何自动添加数据行?
我在代码的注释部分尝试了一种方法,但是我不确定如何在不每年手动添加新行的情况下执行此操作。
有没有办法解决循环问题?
谢谢大家的回答。
答案 0 :(得分:0)
假设$column_count
不包括"Month"
列,
您可以按以下步骤循环$row
的每个索引...
var showdata = <?php
while($row = sqlsrv_fetch_array($obratmesice, SQLSRV_FETCH_ASSOC)){
echo "[".$row["Month"].", ";
for ($i = 0; $i < $column_count; $i++) {
echo $row["O".($i + 2006)].", ";
}
echo "];";
}
?>
确保data
在这里是小写...
data.addRow(showdata);
多行...
var showdata = [<?php
while($row = sqlsrv_fetch_array($obratmesice, SQLSRV_FETCH_ASSOC)){
echo "[".$row["Month"].", ";
for ($i = 0; $i < $column_count; $i++) {
echo $row["O".($i + 2006)].", ";
}
echo "],";
}
?>];
data.addRows(showdata);