• Inloggen
  • Registreer
  • Zoeken
Dit topic
  • Overal
  • Dit topic
  • Dit forum
  • Artikelen
  • Pagina's
  • Forum
  • Downloads
  • Meer opties

ICTscripters

Dé plek voor IT

Dé plek voor IT

Aanmelden

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • [Beta] Ottomaan: gratis browserspel met een echte, levende stad. Feedback gezocht!

    frio 27 oktober 2026 om 12:22
  • Port Father: beta van een browsergame in Antwerpen 1931, feedback welkom

    Jeroen.G 26 oktober 2026 om 10:33
  • Maffia Hotel: een browsergame waarin je van lobbygast naar spil van het hotel groeit

    eeyk 22 oktober 2026 om 18:43
  • Crime Club volledig herschreven vanaf nul

    frio 19 oktober 2026 om 23:57
  • Malavita (nieuwe maffia game, van 0)

    jos 19 oktober 2026 om 23:18
  • Herkent deze Notion-structuurscan echte problemen?

    Jeroen.G 19 oktober 2026 om 15:09
  • 🚀 WE ZOEKEN TESTERS! 🚀

    Servertjee 3 oktober 2026 om 10:56
  • Luchtvaartsoftware: Hoe technologie de moderne luchtvaart verandert

    saggy2829 30 september 2026 om 19:31

Marktplaats

  • [Aanbod] Stadskaart voor je browsergame: van menu naar klikbare stad, vanaf €200

    frio 29 oktober 2026 om 18:17
  • [Verkoop] G4G (Gangsters 4 Gangsters): volledige broncode, nieuw gebouwd in PHP 8.3 | € 30 per domein

    frio 27 oktober 2026 om 18:54
  • [TE KOOP] Malavita.be [Maffiaspel, gebaseerd op omicidio.nl, unieke code]

    Dpm_x 26 oktober 2026 om 00:22

Datums en prijzen

  • EricW
  • 21 juni 2013 om 17:20
  • EricW
    Beginner
    Berichten
    4
    • 21 juni 2013 om 17:20
    • #1

    Hallo,

    Voor een klant van mij moet ik een kosten bereken systeem maken, waarbij ik vastloop.

    Gegegevens:
    Er is een begindatum, $_POST['datebegin']
    Er is een einddatum, $_POST['date']
    Per week kost het 20 euro, per midweek (maandag-vrijdag) 15 euro, per weekend 10 euro en overige dagen 10 euro.

    PHP
    <?php                                        
    // Prijzen ophalen                                        
    $weekprijs             = 200;                                        
    $midweekprijs        = 150;                                        
    $weekendprijs        = 100;                                        
    $dagprijs            = 50;                                                                                
    // Dagen berekenen                                        
    $einddatum2            = explode('/', $_POST['date']);                                        
    $einddatum            = $einddatum2[2].'/'.$einddatum2[1].'/'.$einddatum2[0];                                        
    $date1                 = new DateTime($_POST['datebegin']);                                        
    $date2                 = new DateTime($einddatum);                                        
    $interval             = $date1->diff($date2);                                        
    $dagen_berekend     = $interval->days+1;                                                                                
    // weken berekenen in aantal dagen                                        
    $aantal_weken     = floor($dagen_berekend/7);                                        
    $dagen_minweken = $dagen_berekend - ($aantal_weken*7);    # Dit getal is minder dan 7; dus maximum 6 (willekeurige) dagen (weekend, midweek of dag)                                                                                +
    // Weekenden berekenen in over gebleven periode                                        
    $weken_voorbij    = $aantal_weken*7;                                        
    $ReSDate        = date('d/m/Y', strtotime("+".$weken_voorbij." days"));                                        
    $startdtm    = strtotime($ReSDate);                                        
    $einddtm    = strtotime($einddatum2[0].'/'.$einddatum2[1].'/'.$einddatum2[2]);                                        
    $tesr        = $einddatum2[0].'/'.$einddatum2[1].'/'.$einddatum2[2];                                        
    echo strtotime($tesr);                                                                                                                        
    // Kosten berekenen                                        
    $bedrag_berekend    =    0;                                        
    $bedrag_berekend    += $weekprijs*$aantal_weken; 
    ?>
    Meer tonen

    http://plaatscode.be/142231/

    1e probleem: $ReSDate= date('d/m/Y', strtotime("+".$weken_voorbij." days")); | dit moet dus zijn $_POST['datebegin'] + $weken_voorbij; maar hoe doe ik dat?
    2e probleem: Na het aftrekken van de weken blijven er 6 dagen over, hiervan moet ik ophalen of er een weekend in zit of er een midweek in zit en aftrekken.

    Ik hoop dat jullie me hiermee kunnen helpen, ben al 3 dagen ermee bezig.

    Met vriendelijke groet,

    Eric Westering

    ps. kan een crewlid mijn code goedzetten? het hoort netjes onder elkaar.
    EDIT HAMZA-R: Als je er geen enters tussenzet komt alles naast elkaar te staan hé. Nog dank jopitan.

    Bewerkt 4 keer, laatst door Hamza-R (21 juni 2013 om 19:55).

  • Gast, wil je besparen op je domeinnamen? (ad)
  • M.Beers
    Elite members
    Berichten
    460
    • 21 juni 2013 om 18:52
    • #2

    Duidelijkheid zou fijn zijn :P wat moet je berekenen, wat zijn de uitzonderingen en welke data heb je... maar miss net zo belangrijk wat wil je ermee berekenen want hoe je nu bezig bent is super omslachtig en totaal niet effectief

    Dit was mijn spreekbeurt, zijn er nog vragen?

  • EricW
    Beginner
    Berichten
    4
    • 21 juni 2013 om 18:57
    • #3

    De PHP broncode gaat op een of andere manier naast elkaar, terwijl ik het onder elkaar invoer...

    Ik wil de kosten berekenen van een datum tot een andere datum. Maar dan word er een verschil gemaakt tussen week / weekend / dag / midweek.

  • jopitan
    Professional
    Berichten
    683
    • 21 juni 2013 om 19:22
    • #4

    Wat voor kostensysteem is het? Hotel overnachtingen?

    Even voor je op een rijtje gezet.

    PHP
    <?php                                        
    // Prijzen ophalen                                        
    $weekprijs             = 200;                                        
    $midweekprijs        = 150;                                        
    $weekendprijs        = 100;                                        
    $dagprijs            = 50;                                                                                
    // Dagen berekenen                                        
    $einddatum2            = explode('/', $_POST['date']);                                        
    $einddatum            = $einddatum2[2].'/'.$einddatum2[1].'/'.$einddatum2[0];                                        
    $date1                 = new DateTime($_POST['datebegin']);                                        
    $date2                 = new DateTime($einddatum);                                        
    $interval             = $date1->diff($date2);                                        
    $dagen_berekend     = $interval->days+1;                                                                                
    // weken berekenen in aantal dagen                                        
    $aantal_weken     = floor($dagen_berekend/7);                                        
    $dagen_minweken = $dagen_berekend - ($aantal_weken*7);    # Dit getal is minder dan 7; dus maximum 6 (willekeurige) dagen (weekend, midweek of dag)                                                                                +
    // Weekenden berekenen in over gebleven periode                                        
    $weken_voorbij    = $aantal_weken*7;                                        
    $ReSDate        = date('d/m/Y', strtotime("+".$weken_voorbij." days"));                                        
    $startdtm    = strtotime($ReSDate);                                        
    $einddtm    = strtotime($einddatum2[0].'/'.$einddatum2[1].'/'.$einddatum2[2]);                                        
    $tesr        = $einddatum2[0].'/'.$einddatum2[1].'/'.$einddatum2[2];                                        
    echo strtotime($tesr);                                                                                                                        
    // Kosten berekenen                                        
    $bedrag_berekend    =    0;                                        
    $bedrag_berekend    += $weekprijs*$aantal_weken; 
    ?>
    Meer tonen

    Kast: HAF922 | CPU: I7-930 @ 4.0GHz | CPU Cooler: Noctua NH-D14 | HDD0: Crucial M4 128GB, HDD1: Kingston SSD 64GB, HDD2/3: WD Black & Green 1TB, HDD4: Seagate 1.5TB | Mem: Kingston HyperX 12GB @ 1600MHz | Graphics: Crossfire HD6970 | Res: 5760x1080

  • EricW
    Beginner
    Berichten
    4
    • 21 juni 2013 om 19:53
    • #5

    Jopitan bedankt, Hamza ook bedankt. Ik had gekopieerd en geplakt vanaf mijn editor...
    Het gaat om een verhuur systeem van goederen.

    Nu heb ik het volgende (in tekst uitgelegd):

    Er is een begindatum en een einddatum. De weken, bereken je gemakkelijk door te delen door zeven. Dan tel je ze van elkaar af en hou je een aantal dagen over.
    De overige dagen kunnen zowel in de weekend / midweek als dag vallen. De dag gedeelte is erg gemakkelijk want dat zijn dus de aantal over gebleven dagen.

    Maar hoe herken ik een weekend in een periode van maximaal 6 dagen? Dit geld ook voor de midweek, ik neem aan zelfde systeem.

  • Stefan.J
    Meester
    Berichten
    2.358
    • 21 juni 2013 om 20:02
    • #6

    Vrij simpel: Deel het aantal dagen door 7, zodoende heb je het aantal weken. De rest van die deling moet je dan nog opdelen. Neem de laatste dag, en trek daar de rest vanaf. Valt de overgebleven datum dan op een zaterdag, en is de rest minimaal twee, dan spreek je over een weekend tarief (met evt. opvulling in dagen). Valt de overgebleven datum op een maandag, en is de rest minimaal vijf, dan spreek je van een midweek (met evt. opvulling in dagen).

    In alle andere gevallen, wordt de volledige rest van de dagen afgerekend volgens het dagtarief.

  • EricW
    Beginner
    Berichten
    4
    • 21 juni 2013 om 20:24
    • #7

    Stefan hoe doe je dat dan?

    Hoe bereken ik 26/07/2013 + 17 = dd/mm/yyyy ?

    PHP
    date('d/m/Y', strtotime("? days"));


    Dit vond ik, maar dit is vanaf vandaag en niet vanaf datum X.

    Bewerkt één keer, laatst door EricW (21 juni 2013 om 20:37).

Registratie

Nog geen account? Registreer je nu en word deel van onze community!

Nu registreren Aanmelden

ICT Nieuws

  • PHP waarschuwt voor twee ernstige bugs die makkelijk uit te buiten lijken

    Aaron 22 oktober 2026 om 22:19

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37

Gebruikers die dit topic bekijken

  • 1 Gasten
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacyverklaring
  10. Contact
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design