Ik ben sinds kort bezig met een projectje voor school waarbij ik een systeempje moet maken waarbij de studenten via het internet afspraken kunnen maken met de docenten.
Nu zit ik vast bij een denk probleempje..het is vast wel simpel maar ik kom er maar steeds niet uit. Het is de bedoeling dat de afspraken die in worden gevoerd bij een bepaalde docent de andere afspraken niet overlappen. Ik moet hier dus een soort controle omheen bouwen. Waarbij ik steeds vergelijk met de begin en eindtijd van de nieuwe afspraak met die van de afspraken die al in de database staan.
Ik heb hiervoor het volgende bedacht waarbij ik misschien de controle makkelijk zou kunnen uitvoeren, de tijden omrekenen naar het aantal minuten. Dus 8 uur naar 480 min enz....
Nu wou ik het oplossen met een ifje die steeds de nieuwe begintijd vergelijkt met de oude begintijd en oude eindtijd en hetzelfde voor de nieuwe eindtijd..
Nu heb ik zulke waarden :
(begintijd - eindtijd )
Oud : 480 - 600
Nieuw : 735 - 780
Oud : 600 - 720
Nieuw : 735 - 780
Oud : 840 - 855
Nieuw : 735 - 780
Oud : 840 - 855
Nieuw : 735 - 780
Oud : 900 - 915
Nieuw : 735 - 780
Waarbij Nieuw dus de nieuw in te voeren afspraak is en Oud steeds een afspraak is die al in de database staat.
ik had al zoiets , maar dat wou niet echt werken :
Het wil mij dus niet lukken om een goede controle in te bouwen die goed controleert of de tijden elkaar niet overlappen , omdat tevens de tijden niet in de goede volgorde staan in de database denk ik...
Iemand misschien die een idee heeft hoe ik dit kan oplossen?
Alvast bedankt.
Nu zit ik vast bij een denk probleempje..het is vast wel simpel maar ik kom er maar steeds niet uit. Het is de bedoeling dat de afspraken die in worden gevoerd bij een bepaalde docent de andere afspraken niet overlappen. Ik moet hier dus een soort controle omheen bouwen. Waarbij ik steeds vergelijk met de begin en eindtijd van de nieuwe afspraak met die van de afspraken die al in de database staan.
Ik heb hiervoor het volgende bedacht waarbij ik misschien de controle makkelijk zou kunnen uitvoeren, de tijden omrekenen naar het aantal minuten. Dus 8 uur naar 480 min enz....
Nu wou ik het oplossen met een ifje die steeds de nieuwe begintijd vergelijkt met de oude begintijd en oude eindtijd en hetzelfde voor de nieuwe eindtijd..
Nu heb ik zulke waarden :
(begintijd - eindtijd )
Oud : 480 - 600
Nieuw : 735 - 780
Oud : 600 - 720
Nieuw : 735 - 780
Oud : 840 - 855
Nieuw : 735 - 780
Oud : 840 - 855
Nieuw : 735 - 780
Oud : 900 - 915
Nieuw : 735 - 780
Waarbij Nieuw dus de nieuw in te voeren afspraak is en Oud steeds een afspraak is die al in de database staat.
ik had al zoiets , maar dat wou niet echt werken :
PHP:
1
2
3
4
5
6
| if ($aantalNieuwBeginMinuut < $aantalOudBeginMinuut && $aantalNieuwBeginMinuut > $aantalOudEindMinuut && $aantalNieuwEindMinuut < $aantalOudBeginMinuut && $aantalNieuwEindMinuut > $aantalOudEindMinuut ) { return 1; } |
Het wil mij dus niet lukken om een goede controle in te bouwen die goed controleert of de tijden elkaar niet overlappen , omdat tevens de tijden niet in de goede volgorde staan in de database denk ik...
Iemand misschien die een idee heeft hoe ik dit kan oplossen?
Alvast bedankt.