Telt op niet af
mischien een stom vraagje maar ik kom er even niet uit. Ik wil gewoon twee variabelen van elkaar aftrekken maar ze tellen steeds bij elkaar op, het gaat om de $verschil
Code (php)
1
2
3
4
5
2
3
4
5
while(!($zoekresultaten==0))
{
$dat_s = strtotime($zoekresultaten["datum"]);
$dat = date("d-m-Y",$dat_s);
?>
{
$dat_s = strtotime($zoekresultaten["datum"]);
$dat = date("d-m-Y",$dat_s);
?>
</td><td>
</td><td align="right">
</td><td>
</td><td>
</td><td>
</td><td><a href="kwitantie2.php?id=
" target="_blank">kwitantie</a></td></tr>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<? if ($zoekresultaten["afbij"]=="Af")
{
$totaalaf=$totaalaf-$zoekresultaten["bedrag"];
}
else
{
$totaalbij=$totaalbij+$zoekresultaten["bedrag"];
}
$zoekresultaten=mysql_fetch_array($zoekresultaten_query);
}
$verschil=0;
$verschil=$totaalaf-$totaalbij;
echo $verschil;
?>
{
$totaalaf=$totaalaf-$zoekresultaten["bedrag"];
}
else
{
$totaalbij=$totaalbij+$zoekresultaten["bedrag"];
}
$zoekresultaten=mysql_fetch_array($zoekresultaten_query);
}
$verschil=0;
$verschil=$totaalaf-$totaalbij;
echo $verschil;
?>
</table><br><br>
<b>Periodetotalen:</b><br><br>
Totaal bij:
Totaal af:
Verschil: <b><font color="
greenred"></font></b>
<p></p>
Gewijzigd op 01/01/1970 01:00:00 door Dennis Ham
Gewijzigd op 01/01/1970 01:00:00 door Noppes
Moet het niet $totaalbij-$totaalaf zijn? Is toevallig niet anders het $totaalbij bedrag negatief? Ik ben het wel eens met Noppes, waarom niet gewoon door de database laten berekenen?
Wat raar is is dat als ik het andersom doet de bedragen nog steeds opgeteld wordt met een - teken ervoor.
Dennis, de oplossing is dat je het met de juiste query uit de database haalt en dan op het scherm toont. Dus je moet het niet proberen op te lossen in php!
Dennis schreef op 05.09.2009 21:41:
De gegevens komen uit een database en wordt weergegeven en dus geen nut om dat terug te zetten in SQL.
Het gaat er niet om dat je het terugzet in je DB. Het gaat er om dat je de uitkomst door je DB laat berekenen. Dus gewoon in je query:
SELECT (veld1 - veld2) AS verschil
@Rick: Als SQL het kan uitvoeren, doe het met SQL. Dat is vele malen sneller dan het eerst nog te fetchen, en dan nog eens de handeling uit te moeten voeren met PHP.
er is nog een ander probleempje met de volgende if statement. Een negatief
getal wordt groen en een positief getal wordt blauw. Waar die blauw vandaan komt is my een raadsel. Mischien weet iemand daar een oplossing voor
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
Verschil: <b><font color="
<?
if (($verschil)>=0)
{
?>green<? }
else
{
?>red<? } ?>"><? echo "€ ".number_format($verschil,2, ',', '.');?></font></b>
<?
if (($verschil)>=0)
{
?>green<? }
else
{
?>red<? } ?>"><? echo "€ ".number_format($verschil,2, ',', '.');?></font></b>
Komt die "blauw" niet toevallig doordat er een link omheen staat ofzo? (<a>)
Je kan de hele code in me eerste post bekijken, geen <a> omheen.
Gewijzigd op 01/01/1970 01:00:00 door steen
Ik heb het opgelost met
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
Verschil: <b><span class="caution" style="color:
<?
if (($verschil)<0)
{
?>red<? }
else
{
?>green<? } ?>"><? echo "€ ".number_format($verschil,2, ',', '.');?></font></b>
<?
if (($verschil)<0)
{
?>red<? }
else
{
?>green<? } ?>"><? echo "€ ".number_format($verschil,2, ',', '.');?></font></b>
span class="caution" overrides de stylesheet als je een kleur eenmalig voor een stukje tekst nodig heb.