Próbuję napisać sobie skrypt, który polega na tym, że zlicza wartości kolumn z tabeli, wybiera jednak tylko te, które są z aktualnego miesiąca (rozpoznaję to za pomocą explode'a daty obecnej i wpisu).
Wygląda on mianowicie tak:
<? $select = "SELECT * FROM XXXXX"; $amount = 0; $fdate = $date[1].'-'.$date[2]; $ddatef = $ddate[1].'-'.$ddate[2]; if ($fdate = $ddatef) { $amount += $dane['amount']; } } ?>
Problem polega na tym, że z nieznanej dla mnie przyczyny warunek "if" ustawia wartość zmiennej $fdate na taką samą jak $ddatef, przez co skrypt sumuje wszystko.
Chciałem to wszystko zbadać, więc przygotowałem 2 wersję skryptu:
<? $select = "SELECT * FROM XXXXX"; $amount = 0; $fdate = $date[1].'-'.$date[2]; $ddatef = $ddate[1].'-'.$ddate[2]; if ($fdate = $ddatef) { $amount += $dane['amount']; } } ?>
W rezultacie otrzymałem:
Cytat
01-07-2013
01-06-2013
06-2013
06-2013
25
01
06
2013
--------------------------------------
01-07-2013
01-07-2013
07-2013
07-2013
40
01
07
2013
--------------------------------------
40
01-06-2013
06-2013
06-2013
25
01
06
2013
--------------------------------------
01-07-2013
01-07-2013
07-2013
07-2013
40
01
07
2013
--------------------------------------
40
Skrypt powinien dodać wartość tylko drugiego rekordu, dzieje się inaczej, gdyż nagle zmienia się zmienna $fdate.
Proszę o pomoc i wytłumaczenie
