$fin_q=mysql_query("SELECT Datum, DATE_FORMAT(datum, '%d-%m-%Y') AS Datum2, Bedrag, BTW FROM financieel WHERE YEAR(datum) = $filterjaar AND QUARTER(Datum) = $filterkwartaal") or die(mysql_error());
De bedoeling is dat hij de getallen van round(str_replace(",", ".", $fin->Bedrag), 2) , de waarde hiervan zijn: Array ( [0] => |3233 [1] => |1222 ) .
Alleen zoals je al ziet heb ik te maken met een lelijke pipe en de getallen worden niet opgeteld. Wat doe ik hierboven verkeerd. Iemand een oplossing? De | tussen de array heb ik al een keer weggedaan, maar dit werkt niet. Net zoals na de waarde explode.
Gewoon doorgaan zolang die kleiner is, zonder = en zonder -1.
Daarnaast ga ik met stijn mee Ik snap er niks van. Je maakt je eerste zin niet af.
[i]De bedoeling is dat hij de getallen van functie..blabla
En dat is het
Ik neem aan dat je alles wilt optellen per ID, als ik het goed begrijp.
$fin_q = mysql_query("SELECT Datum, DATE_FORMAT(datum, '%d-%m-%Y') AS Datum2, SUM(bedrag), BTW FROM financieel WHERE YEAR(datum) = $filterjaar AND QUARTER(Datum) = $filterkwartaal GROUP BY id") or die(mysql_error());
$fin_q=mysql_query("SELECT Datum, DATE_FORMAT(datum, '%d-%m-%Y') AS Datum2, SUM(bedrag), BTW FROM financieel WHERE YEAR(datum) = $filterjaar AND QUARTER(Datum) = $filterkwartaal GROUP BY id") or die(mysql_error());
$fin_q = mysql_query("SELECT Datum, DATE_FORMAT(datum, '%d-%m-%Y') AS Datum2, SUM(bedrag), BTW FROM financieel WHERE YEAR(datum) = $filterjaar AND QUARTER(Datum) = $filterkwartaal GROUP BY id") or die(mysql_error());
$fin_q=mysql_query("SELECT Datum, DATE_FORMAT(datum, '%d-%m-%Y') AS Datum2, SUM(bedrag), BTW FROM financieel WHERE YEAR(datum) = $filterjaar AND QUARTER(Datum) = $filterkwartaal GROUP BY id") or die(mysql_error());
Alleen nu krijg ik de waarde Array ( [0] => |0 [1] => |0 )
Er gaat iets mis in de for lus waardoor de som niet goed gaat en waardoor ik een extra | voor elke getallen krijg. Deze moet weg anders wordt het niet opgeteld. Maar ik weet niet hoe. Iemand een idee???
$fin_q=mysql_query("SELECT Datum, DATE_FORMAT(datum, '%d-%m-%Y') AS Datum2, SUM(bedrag) AS Bedrag2, BTW FROM financieel WHERE YEAR(datum) = $filterjaar AND QUARTER(Datum) = $filterkwartaal GROUP BY ID") or die(mysql_error());
Nog steeds krijg ik deze waarde tevoorschijn omdat ik gebruik maak van print_r($array);.
Array ( [0] => 1222 [1] => 3233 )
Dit is opzich volgens mij niet verkeerd. Alleen wanneer ik in het overzicht kijk waar deze waardes moeten worden weergegeven worden zie ik 0,00 ipv 4455,00.
In het overzicht gebruik ik trouwens dit commando om de waarde te laten zien van de array: ". mkBedrag($los[2]) ."
Zit hier misschien de fout in. Misschien dat de array zich nu niet verdeeld?
groeperen is niet optellen... je zorgt er gewoon voor dat elke waarde maar 1x voorkomt :-)
De oplossing kwam ik achter toen ik deze reactie zag. Toen heb ik GROUP BY veranderd in GROUP BY QUARTER(datum). Wanneer je sorteert op ID pakt hij maar 1 waarde en telt hij niets op. Mede dankzij deze website kwam ik erachter. Alvast bedankt voor jullie reacties.