数组中的PHP数据检索

时间:2017-04-30 04:59:11

标签: php arrays

我有一个包含列的表:

S.NO  month year  total
1     jan   2017  1000 
2     feb   2017  5000 
3     jan   2018  3000 

我想获取数据并以这样的方式排列,即添加类似月份的总值,并使用PHP将其存储在数组中的键值对中。  数据只会持续多年。 例如

2017 - > 6000
2018-> 3000等等。

提前致谢!

2 个答案:

答案 0 :(得分:0)

假设表结构是这样的,

Sample Table

查询应为

SELECT SUM(tt),yr FROM t1 GROUP BY yr

示例输出: enter image description here

在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);