Wie betaalt wat?
Sinds kort ben ik begonnen met het leren van PHP en het bevalt me goed.
Ik heb besloten dat ik o.a. een 'huislijst' wil gaan maken (een lijst waarop iedereen in mijn huis aan kan geven wat diegene gekocht heeft etc, zodat later de kosten verdeeld kunnen worden).
De lijst heb ik inmiddels af. Wat ik graag zou willen is dat er automatisch berekent wordt wie wat moet terugbetalen, en aan wie.
Tot nu toe heb ik het volgende:
Er wordt eerst in de db gekeken hoeveel mensen er in totaal zijn en hoeveel geld er in totaal is uitgegeven (en dus wat iedereen pp moet betalen).
Daarna wordt er uitgerekend wat iedereen persoon heeft uigegeven.
-> Heeft iemand een goed idee over hoe ik dit globaal aan moet pakken?
Ik heb het volgende bedacht, maar gezien mijn geringe kennis weet ik niet of dit een goede aanpak is:
1) Berekenen wat iemand heeft betaald minus je pp hoort te betalen. Mensen die een positief getal (laten we dit 'saldo' noemen) overhouden krijgen nog geld, negatief getal moeten nog betalen.
2) Mensen met een positief en negatief saldo in apparte arrays opslaan. Dus dat je een var hebt met betalers en een var met ontvangers.
3) Dan beginnen met de eerste ontvanger, kijken hoeveel deze ontvangt en dat koppelen aan de eerste betaler, totdat het saldo van 1 van de 2 op nul staat, en dan verder met de volgende.
Ik hoop dat ik een beetje duidelijk ben (ik betwijfel het ;-) ), en dat iemand me kan helpen.
Alvast bedankt voor de hulp!
Groeten, Jeroen
(totale kosten / 3 (personen) - eigen gemaakte kosten)
Bijvoorbeeld er is 300 euro uit gegevens en ik heb 50 euro aan boodschappen gemaakt:
300 / 3 personen = 100 euro
Ik heb 50 euro betaald: 100 - 50 = 50
Ik moet iemand nog 50 euro betalen.
Persoon 2:
300 / 3 personen = 100 euro
Maar hij heeft 150 euro betaald 100 - 150 = 50 (negatief)
Hij krijgt nog 50 euro
Persoon 3:
300 / 3 personen = 100 euro
Maar hij heeft 100 euro betaald 100 - 100 = 100 (negatief)
Hij krijgt nog 0 euro en hoeft 0 euro te betalen
Dit is met een simpel bedrag. Maar je hebt altijd iemand die meer heeft betaald dan een ander. Die krijgt sowieso geld. Betreft de personen die minder hebben betaald moeten de andere de rest betalen. Het is namelijk zo dat als er aantoonbaar 300 euro is uitgegeven je nooit geld kan overhouden of te kort komen op de manier van deze berekening. (m.u.v. oneven bedragen)