• 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

  • 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
  • Van een pixelige afbeelding naar een strakke, moderne website

    Syntax 21 december 2025 om 17:05

Sorteren op kwartaal

  • Aaron
  • 14 juni 2014 om 10:27
  • Aaron
    Administrator
    Ontvangen Reacties
    60
    Berichten
    1.020
    • 14 juni 2014 om 10:27
    • #1

    Hallo,

    ik ben bezig met een tabel ana het maken waar alle gegevens inkomen via PHP in de MySQL database. Dat werkt perfect
    De datum wordt in een datetime opgeslagen (bv: 2014-01-22 16:16:30)

    Daarna haal ik alles uit de database met een while loop. Nu is dat geen enkel probleem. maar als de lijst te lang wordt zal dit langer laden.

    Nu is mijn vraag:
    Hoe kun je die while loop alles indelen per kwartaal?
    Kwartaal 1: januari t/m maart
    Kwartaal 2: april t/m juni
    Kwartaal 3: juli t/m september
    Kwartaal 4: oktober t/m december
    zodat je onderaan kunt kiezen naar welk kwartaal je wilt terugkeren (dat hij dus eerst het laatste kwartaal toont)

    Mvg,

    T.Aaron

  • DirkZz
    Intermediate
    Ontvangen Reacties
    29
    Berichten
    213
    • 14 juni 2014 om 12:46
    • #2
    SQL
    SELECT YEAR(datumveld ) AS Jaar, QUARTER( datumveld ) AS Kwartaal, COUNT( id ) AS Aantal
    FROM tabel
    GROUP BY YEAR( datumveld ) , QUARTER( datumveld )

    Zo iets?

  • Aaron
    Administrator
    Ontvangen Reacties
    60
    Berichten
    1.020
    • 14 juni 2014 om 13:43
    • #3

    Hallo,

    ik gebruik momenteel:

    PHP
    $res = mysql_query("SELECT *, UNIX_TIMESTAMP(date) AS datum FROM factuur WHERE factuurnr >0  ORDER BY date DESC");
    		while($sel = mysql_fetch_array($res)){
    
    
    			for($i = 1; $i <= 20; $i++){
    				if($sel['item'.$i.'_naam'] != "" && $sel['item'.$i.'_aantal'] != 0 && $sel['item'.$i.'_prijs'] != 0){
    					$totaal = $totaal + ($sel['item'.$i.'_aantal'] * ($sel['item'.$i.'_prijs']*1.21));
    				}
    			}
    			$j++;
    		}
    Toon Meer

    Hoe zou ik dat het beste aanpassen? Welke code moet ik plaatsen onder mijn lijst? ( zoals paginanummeringen, maar dan met 1ste kwartaal 2014, 2de kwartaal 2014,...)


    Citaat van DirkZz


    PHP
    SELECT YEAR(datumveld ) AS Jaar, QUARTER( datumveld ) AS Kwartaal, COUNT( id ) AS Aantal
    FROM tabel
    GROUP BY YEAR( datumveld ) , QUARTER( datumveld )

    Zo iets?

    Alvast bedankt voor de reactie, ik zal alvast enkele dingen proberen. Iemand die mij eventueel zou kunnen verder helpen?

  • L.Groot
    Elite members
    Ontvangen Reacties
    31
    Berichten
    4.888
    • 15 juli 2014 om 16:14
    • #4

    Heeft iemand misschien nog een oplossing voor T.Aaron?

  • Thisguyisgone
    Elite members
    Ontvangen Reacties
    197
    Berichten
    7.880
    • 15 juli 2014 om 17:07
    • #5
    Code
    public static function getQuarterByMonth($monthNumber) {
      return floor(($monthNumber - 1) / 3) + 1;
    }
    
    
    public static function getQuarterDay($monthNumber, $dayNumber, $yearNumber) {
      $quarterDayNumber = 0;
      $dayCountByMonth = array();
    
    
      $startMonthNumber = ((self::getQuarterByMonth($monthNumber) - 1) * 3) + 1;
    
    
      // Bereken het aantal dagen per maand
      for ($i=1; $i<=12; $i++) {
        $dayCountByMonth[$i] = date("t", strtotime($yearNumber . "-" . $i . "-01"));
      }
    
    
      for ($i=$startMonthNumber; $i<=$monthNumber-1; $i++) {
        $quarterDayNumber += $dayCountByMonth[$i];
      }
    
    
      $quarterDayNumber += $dayNumber;
    
    
      return $quarterDayNumber;
    }
    
    
    public static function getCurrentQuarterDay() {
      return self::getQuarterDay(date('n'), date('j'), date('Y'));
    }
    Toon Meer

    met deze code heb je je kwartalen al opgesplits, nu verwerk je dit in je SQL.

    EDIT:
    SQL Server DATEPART() Function Waarop je de maand selecteert en dan sorteer zoals

    Code
    function date_quarter()
    {
        $month = date('n');
    
    
        if ($month <= 3) return 1;
        if ($month <= 6) return 2;
        if ($month <= 9) return 3;
    
    
        return 4;
    }
    Toon Meer
    Code
  • DirkZz
    Intermediate
    Ontvangen Reacties
    29
    Berichten
    213
    • 15 juli 2014 om 18:40
    • #6
    Citaat van L.Groot

    Heeft iemand misschien nog een oplossing voor T.Aaron?


    :P Had hem gevraagd om een SQL dump van zijn tabelstructuur met dummydata, zodat ik hem een voorbeeld op maat kon geven maar tot op heden niet niet gekregen.

    Lastig voorbeelden geven als je niet de exacte verwachte output hebt, met structuur waar hij mee werkt.

  • Thisguyisgone
    Elite members
    Ontvangen Reacties
    197
    Berichten
    7.880
    • 15 juli 2014 om 21:54
    • #7

    Ik denk dat ik misschien toch de oplossing gegeven heb?

  • Aaron
    Administrator
    Ontvangen Reacties
    60
    Berichten
    1.020
    • 18 juli 2014 om 22:19
    • #8

    Hallo,

    Bedankt voor de extra info!
    Van zodra het wat frisser word zal ik eens beginnen puzzelen.

  • Thisguyisgone
    Elite members
    Ontvangen Reacties
    197
    Berichten
    7.880
    • 19 juli 2014 om 01:21
    • #9

    Ik hoop dat het werkt.

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