我有一个包含列的表:
S.NO month year total
1 jan 2017 1000
2 feb 2017 5000
3 jan 2018 3000
我想获取数据并以这样的方式排列,即添加类似月份的总值,并使用PHP将其存储在数组中的键值对中。 数据只会持续多年。 例如
2017 - > 6000
2018-> 3000等等。
提前致谢!
答案 0 :(得分:0)
假设表结构是这样的,
查询应为
SELECT SUM(tt),yr FROM t1 GROUP BY yr
在while循环中的PHP中, 使用类似的东西(只是给出一个样本,而不是完整的东西)
while($row = mysqli_fetch_assoc($results))
$array[$row['yr']] = $row['SUM(tt)'];
答案 1 :(得分:0)
请尝试 -
$result = mysql_query("SELECT * FROM test1");
$newarray = array();
$i = 1;
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
if($i==1){
array_push($newarray, array("year"=>$row["year"], "total"=>$row["total"]));
}else{
$sr = array_search($row["year"], array_column($newarray, 'year'));
if($sr === false){
array_push($newarray, array("year"=>$row["year"], "total"=>$row["total"]));
}else{
$newarray[$sr]["total"]+=$row["total"];
}
}
$i++;
}
print_r($newarray);