$query="SELECT zw_anal.KLUCZ_DOK, zw_anal.SYMBOL_ART, ZW_ANAL.ZAMOWIONO, ZW_ANAL.ZREALIZ, ZW_ANAL.POZYCJA, a.NAZWA_ART, k.SKROT_KTR, p.SYMBOL_KTR, CONVERT(DATETIME2, p.TERMIN) AS TERMIN FROM zw_anal('ZO', 1, '', '', '', 1, '1900.01.01', '2012.04.19', '', '2100.01.01', ''), artykuly a, nagl_dok n, kontrah k, poz_dok p "; //nie ma tutaj całego zapytania $dzis=new DateTime(); $wynik_query=mssql_query($query); $licznik=0; while($analiza[$licznik]=mssql_fetch_assoc($wynik_query)){ $analiza[$licznik]['NAZWA_ART']=polskie_znaki($analiza[$licznik]['NAZWA_ART']); $analiza[$licznik]['SKROT_KTR']=polskie_znaki($analiza[$licznik]['SKROT_KTR']); $analiza[$licznik]['TERMIN']=new DateTime($analiza[$licznik]['TERMIN']); $analiza[$licznik]['ROZNICA']=$dzis->diff($analiza[$licznik]['TERMIN']); $licznik++; }
Po zakończeniu while'a w niektórych miejscach ZAMOWIONO przyjmuje wartośc NAN mimo że nie operuje na tej zmiennej ( poza funkcją floatval() ).
Po odrzuceniu przedostatniej linii pętli wszystko działa poprawnie jednak jest ROZNICA jest mi niezbędna do dalszej części programu i będę ją wykorzystywał kilkukrotnie.
Dlaczego diff() ma znaczenie na wartości innych zmiennych?