Fordelingen i 2 puljer
Jeg har et antal og 2 puljer.Den ene dag kan antallet være 18 stykker (eksempelvis).
Den næste dag kan antallet være 19 stykker (eksempelvis).
Det samlede antal skal fordeles ligeligt i to puljer, så godt det nu kan lade sig gøre:
1. Er der 18 stykker (lige antal) den ene dag, skal der være 9 stykker i hhv pulje 1 og 2. I en formular vælger man v.hj.a. radio buttons om man placerer sit valg i pulje 1 eller pulje 2.
2. Er der 19 stykker (ulige antal) den næste dag, skal der være 10 stykker pulje 1, og 9 stykker i pulje 2, eller omvendt. Bare det bliver fordelt bedst muligt, nemlig med 10 i den ene, og 9 i den anden.
Er der 18 stykker, må man maks fylde 9 i pulje 1. Herefter SKAL resten over i pulje 2.
Dvs er der lagt i 9 stykker i pulje 1, laves der en msgBox, hvor der står, at pulje 1 kan ikke vælges. Der skal fra nu af lægges i pulje 2.
Er der 19 stykker, må der maks lægges 10 i pulje 1 eller 2.
Ligger der 10 stykker i pulje 1, laves der en msgBox, hvor man får at vide, at resten skal lægges i pulje 2. Og omvendt.
Dvs. der inden hver UPDATE skal laves et tjek på, om stykkerne bliver ligeligt fordelt i hver af de to puljer, og at ingen af de to puljer aldrig overstiger det maksimalt tilladte antal.
Den samlede pulje (inden fordelingen) har status 1 i MySQL DB (eksempelvis)
Pulje 1 har status 2 i MySQL DB (eksempelvis)
Pulje 2 har status 3 i MySQL DB (eksempelvis)
For at finde ud af hvor meget jeg i det hele taget har at arbejde med, tæller jeg antallet op med en SELECT COUNT.
Hvordan laver jeg det løbende tjek, så antallet aldrig overstiger maks?
Hvis der er 18 stykker til rådighed i dag:
Der skal være 9 i pulje 1, når alt er fordelt
Der skal være 9 i pulje 2, når alt er fordelt
Hvis der er 19 stykker til rådighed i dag:
Der må være 10 i pulje 1. Hvis det er tilfældet, skal der være 9 i pulje 2
Der må være 10 i pulje 2. Hvis det er tilfældet, skal der være 9 i pulje 1
Hvordan laver jeg det?