Echo berekening met php uit mysql tabel
Ik heb een tabel: fiets_2013
Id Int prim key ai
datum varchar 10
race varchar 10
mtb varchar 10
Het optellen en weergeven van de kolommen lukt me wel:
$tsql="SELECT datum,SUM(race),SUM(mtb)from fiets_2013 WHERE 1 ORDER BY datum DESC";
$res = $mysqli->query( $tsql );
while( $row = $res->fetch_assoc() ){
echo "Totaal Racefiets <b> ". $row['SUM(race)']. " km</b><br /> Totaal Mtb <b>". $row['SUM(mtb)'] . " km</b>";
echo "<br /><br />";
}
Maar wanneer ik de totalen van beide kolommen bijeen wil tellen en deze wil weergeven zie ik niet hoe ik dit moet doen.
$sql="SELECT (SUM(race)+ SUM(mtb)) ASS totaal FROM fiets_2013";
Hoe kan ik dit weergeven via echo "
Kun je niet gewoon simpelweg het volgende gebruiken?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
$tsql = "
SELECT
datum,
SUM(race) AS totaal_race,
SUM(mtb) AS totaal_mtb
FROM
fiets_2013
WHERE
1
ORDER BY
datum DESC
";
$res = $mysqli->query($tsql);
while ($row = $res->fetch_assoc()){
$totaal = $row['totaal_race']+$row['totaal_mtb'];
echo "
Totaal Racefiets <b> ". $row['totaal_race']. " km</b><br />
Totaal Mtb <b>". $row['totaal_mtb'] . " km</b>
";
echo "<br /><br />";
}
?>
$tsql = "
SELECT
datum,
SUM(race) AS totaal_race,
SUM(mtb) AS totaal_mtb
FROM
fiets_2013
WHERE
1
ORDER BY
datum DESC
";
$res = $mysqli->query($tsql);
while ($row = $res->fetch_assoc()){
$totaal = $row['totaal_race']+$row['totaal_mtb'];
echo "
Totaal Racefiets <b> ". $row['totaal_race']. " km</b><br />
Totaal Mtb <b>". $row['totaal_mtb'] . " km</b>
";
echo "<br /><br />";
}
?>
De variabele $totaal is nu het totaal van de 2 kolommen. Daar kun je nu mee doen wat je wilt.
Gewijzigd op 09/01/2013 20:10:18 door Albert de Wit
Albert de Wit op 09/01/2013 20:06:30:
Dat dacht je ervan om dit op te tellen met PHP, ipv SQL?
Niet doen, daar heb je die database voor zou je zeggen.
Code (php)
1
2
2
SELECT SUM(race) AS totaal_race, SUM(mtb) AS totaal_mtb, SUM(race+mtb) AS totaal
FROM fiets_2013
FROM fiets_2013
Als je het nu fetcht in een variabele $row, dan kan je het totaal echoen met
Alleen, in je oorspronkelijke query heb je ook nog een datum geselecteerd. Wat daar nu in komt is echter onduidelijk, omdat je geen GROUP BY clause hebt. Ook het 'WHERE 1' komt op mij enigszins vreemd over.
Ik heb een tabel waar ik mijn ritten op bijhou, de datum wanneer ik gereden heb met de racefiets of mountainbike, boven die tabel maak ik de totalen.
http://zwarthaar.be/fie_display_2013.php
Nogmaals dank.
Gewijzigd op 09/01/2013 21:01:06 door Erik De Leu