PHP根据数组计算几列的总和

时间:2014-06-11 08:11:17

标签: php mysql arrays count

我想根据数组将一些列加在一起。以前我这样做了:

$data = $db->query("SELECT idnummer, productnaam,($kolommen[0]+$kolommen[1]+$kolommen[2]+$kolommen[3]+$kolommen[4]+$kolommen[5]+$kolommen[6]+$k
olommen[7]+$kolommen[8]+$kolommen[9]+$kolommen[10]+$kolommen[11]+$kolommen[12]+$kolommen[13]+$
kolommen[14]) AS total FROM wasmachine ORDER BY total DESC, prijs LIMIT 0, 5") or 
trigger_error("Fout in de query");

但我认为这不是正确的方法,因为我想要它动态。我想使用完整的数组,如

$data = $db->query("SELECT idnummer, productnaam,($kolommen) AS total FROM wasmachine ORDER BY total DESC, prijs LIMIT 0, 5") or 
trigger_error("Fout in de query");

这是我的数据库示例:

idnummer | productnaam | v1a2 | v2a1 | v3a2
1        |  test 1     |   1  |   2  |   1
2        |  test 2     |   1  |   2  |   1
3        |  test 3     |   1  |   2  |   1
4        |  test 4     |   1  |   2  |   1

我尝试使用 array_sum 计数,但我无法弄明白。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

据我所知,您的 $ kolommen 数组包含您需要求和的所有行的名称? 然后你可以这样写你的查询:

"SELECT idnummer, productnaam,(".join('+', $kolommen).") AS total FROM wasmachine ORDER BY total DESC, prijs LIMIT 0, 5"

功能加入将使用字符串' +' 粘贴数组元素。

如果您愿意,可以使用内爆作为加入的别名功能。