我有一个大的数据库表,我需要将多列的结果合并为一列。这是关于人们从一些传染病中得到了多少检查,每个传染病都有自己的专栏。以下是其中的一些:rs_turista
、rs_nocenja
、agencija_turista
、agencija_nocenja
、at_turista
、at_nocenja
、be_turista
、be_nocenja
、ba_turista
。。。他们每天都在检查。我需要在php中对所有内容进行汇总,以便进行报告。有可能吗?
不要在PHP中这样做,这会不必要地从数据库中选择太多数据。你所要做的就是使用SUM()
和+
,就像这样:
SELECT SUM(column1) + SUM(column2) + SUM(column3) + ... AS total
FROM table
WHERE <filters for a date or other requirements>
是的,这是可能的。使用mysqli_fetch_assoc
获取数据,然后遍历数组的不同键(每一行都是一个数组(。
会是这样的:
$conn= mysqli_connect("mydbhost", "my_user", "my_password", "mydatabase");
$result= mysqli_query($conn, "SELECT rs_turista, rs_nocenja, agencija_turista, agencija_nocenja, at_turista, at_nocenja, be_turista FROM mytable");
$ttl= 0;
while ($row = mysqli_fetch_assoc($result)) {
foreach($row as $key => $value) {
$ttl += $value;
}
}
echo $ttl;
$mysqli_close($conn);
当然,您需要对连接进行一些错误检查,但最终,基本模式是这样的。
查看此处了解更多信息:http://php.net/manual/en/mysqli-result.fetch-assoc.php