Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Tabela z rekordem bilansu otwarcia
Forum PHP.pl > Forum > Przedszkole
krzesik
Witam,
mam tabelę KASA a w niej pola: id_kasa, rodzaj, kto, kwota

jest to działający projekt, dane ładnie zasilają tabelę, ale....
chciałbym aby w dowolnym momencie można było "wyregulować stan kasy" poprzez bilans otwarcia.
na dzień dzisiejszy w tabeli mam tekie rekordy:
1;KP;Adam;100
2;KP;Wiesiek;200
3;KW;Adam;50

....... itd
ale w kasie fizycznie jest 500 zł, więc chciałbym dopisać rekord do bazy:
4;BO;Bilans otwarcia;500
to jest robione ok, ale nie wiem jak pokazać aktualne saldo, bo musiał bym się zahaczyć od BO i tu utknąłem
phpion
O ile dobrze rozumiem - musisz znaleźć ostatni rekord BO (przyda Ci się np. sortowanie lub MAX), a potem od niego odjąć/dodać/co tam potrzebujesz wszystkie kwoty występujące po nim.
Greg0
Dla bilansu otwarcia zrobiłbym osobną tabelę
krzesik
Tak mi się wydaje że muszę odczytać ostatni BO w tabeli i późniejsze zapisy dodać lub odjąć, ale nie bardzo wiem jak wyszukać ten BO.
więc tak, wyłuskanie ostatniego zapisanego BO już mam:
  1. SELECT * FROM kasa WHERE id_kasa=(SELECT MAX(id_kasa) FROM kasa WHERE rodzaj='BO')

ale jak dodać/odjąć wszystko co jest później?


A po co kolejną tabelę? W sumie to chyba jeden czort?
phpkos
Cytat(krzesik @ 11.09.2014, 15:35:42 ) *
ale jak dodać/odjąć wszystko co jest później?


Musisz napisać obsługę tworzenia BO z danego okresu. Przydałby się jeszcze jakiś stempel czasowy, a daty u Ciebie brak.
mmmmmmm
Zakłądając, że id_kasa jest rosnące
  1. SELECT Sum(When rodzaj='KW' then -1 else 1 end*kwota) FROM kasa WHERE id_kasa>=(SELECT MAX(id_kasa) FROM kasa WHERE rodzaj='BO')
krzesik
zrobiłem tak:
  1. SELECT SUM(kwota) FROM kasa WHERE (id_kasa>=(SELECT MAX(id_kasa) FROM kasa WHERE rodzaj='BO'))";

chyba nie jest najgorzej? w każdym razie działa
mmmmmmm
No jest źle. Bo KW muszą być na minus.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.