• Login
  • Register
  • Zoek
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • More Options

ICTscripters

Dé plek voor IT

Dé plek voor IT

Login

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  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
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  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
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  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
  9. Goedkope domeinnamen
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • Beta-testers gezocht voor Crypto-oefenplatform

    Syntax 29 januari 2026 om 16:11
  • Na 15 jaar terug van weggeweest: iCriminals.nl is terug (BETA)!

    Syntax 19 januari 2026 om 09:34
  • Developer Gezocht

    Mikevdk 10 januari 2026 om 18:57
  • Op zoek naar de legends

    Syntax 5 januari 2026 om 13:50
  • [FREE] WeFact Hosting module

    Jeroen.G 13 oktober 2025 om 14:09
  • Help testers nodig voor android app Urgent

    urgentotservices 26 september 2025 om 10:21
  • Versio vervanger

    Jeroen.G 25 augustus 2025 om 15:56
  • Afspraken systeem met planbeperking

    Lijno 1 augustus 2025 om 23:04

Marktplaats

  • 350 Nieuwe Domeinnamen Januari 2026

    shiga 1 februari 2026 om 14:21
  • 321 Nieuwe Domeinnamen December 2025

    shiga 1 januari 2026 om 10:26
  • Meerdere mafia game template te koop

    Syntax 26 december 2025 om 00:07

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; 
    ?>
    Toon Meer

    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).

  • Guest, wil je besparen op je domeinnamen? (ad)
  • M.Beers
    Elite members
    Ontvangen Reacties
    31
    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
    684
    • 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; 
    ?>
    Toon Meer

    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
    Master
    Ontvangen Reacties
    9
    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).

Participate now!

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

Maak een account aan Login

ICT Nieuws

  • Fijne feestdagen

    tcbhome 28 december 2025 om 13:55
  • Kritieke update voor Really Simple Security-plug-in

    K.Rens 16 november 2024 om 16:12
  • ING Nederland streeft naar ondersteuning van Google Pay tegen eind februari

    K.Rens 2 november 2024 om 16:09

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

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