Meerdere rijen datums genereren met mysql

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Frank Nietbelangrijk

Frank Nietbelangrijk

13/02/2013 14:42:05
Quote Anchor link
SELECT INTERVAL 7 DAY + CURDATE()

geeft als resultaat 1 rij met de datum van volgende week:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2013-02-20


Kan dit ook met bijvoorbeeld 4 rijen?

dus dat het resultaat iets wordt als:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
2013-02-20
2013-02-27
2013-03-06
2013-03-13
 
PHP hulp

PHP hulp

21/11/2024 20:03:26
 
Kris Peeters

Kris Peeters

13/02/2013 16:33:34
Quote Anchor link
Gaat dit over INSERT of SELECT?

Geef eens wat achtergrondinformatie over wat je wil doen
Gewijzigd op 13/02/2013 16:34:24 door Kris Peeters
 
Frank Nietbelangrijk

Frank Nietbelangrijk

13/02/2013 17:04:26
Quote Anchor link
Select.. Wat ik wil doen is gewoon de datums van de vier komende zondagen genereren zonder de PHP date class te gebruiken. Het voordeel daarvan is -dacht ik- dat dit ook werkt op wat oudere PHP versies
Gewijzigd op 13/02/2013 17:06:47 door Frank Nietbelangrijk
 
Kris Peeters

Kris Peeters

13/02/2013 17:13:48
Quote Anchor link
zo?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
SELECT
  (INTERVAL 7 DAY + CURDATE()) AS volgede_week,
  (INTERVAL 14 DAY + CURDATE()) AS de_week_er_na
...
Gewijzigd op 13/02/2013 17:26:23 door Kris Peeters
 
Frank Nietbelangrijk

Frank Nietbelangrijk

13/02/2013 17:24:35
Quote Anchor link
Kris, dat is hem al is het in kolommen en niet in rijen, maar goed genoeg. Dank je!
 
Kris Peeters

Kris Peeters

13/02/2013 17:27:01
Quote Anchor link
... ja, daar dacht ik opeens ook aan.
 
Erwin H

Erwin H

13/02/2013 17:35:46
Quote Anchor link
Je kan het ook in rijen doen, maar daar zitten een aantal beperkingen en voorwaardes aan. Ik heb dat laatst eens voor iemand uitgewerkt, maar kan dat topic zo snel niet vinden. Anyway, als in kolommen goed genoeg is doe ik verder nu geen moeite, als je het echt in rijen wil hebben dan zal kan ik nog wel even verder zoeken naar de oplossing.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

13/02/2013 19:17:44
Quote Anchor link
Dank je Erwin. Ik ga het eerst wel zo proberen en misschien leest iemand dit die wel het antwoord bij de hand heeft?
 
Jan R

Jan R

13/02/2013 19:31:00
Quote Anchor link
Wat denk je van:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
SELECT INTERVAL 7 DAY + CURDATE() union
SELECT INTERVAL 14 DAY + CURDATE() union
SELECT INTERVAL 21 DAY + CURDATE() union
SELECT INTERVAL 28 DAY + CURDATE()
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

13/02/2013 20:59:19
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT (CURRENT_DATE() + INTERVAL (6 - WEEKDAY(NOW())) DAY)
    + INTERVAL @num := @num + 1 WEEK sundays
FROM attrib, (SELECT @num := -1) u HAVING @num < 3

Attrib is in mijn db een tabel met voldoende records, maar gebruik dit alleen als je dit wilt combineren met een join op een andere tabel, anders kan je het net zo goed in PHP doen.
Gewijzigd op 13/02/2013 21:02:05 door Ger van Steenderen
 
Frank Nietbelangrijk

Frank Nietbelangrijk

13/02/2013 23:37:38
Quote Anchor link
Iedereen Hartelijk bedankt. Ik denk dat Jan zijn oplossing voor mij het handigst is.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

14/02/2013 13:21:13
Quote Anchor link
Let er wel op dat als je dat in een subquery gebruikt je dan aliast.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

14/02/2013 17:13:36
Quote Anchor link
Ger van Steenderen op 13/02/2013 20:59:19:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT (CURRENT_DATE() + INTERVAL (6 - WEEKDAY(NOW())) DAY)
    + INTERVAL @num := @num + 1 WEEK sundays
FROM attrib, (SELECT @num := -1) u HAVING @num < 3

Attrib is in mijn db een tabel met voldoende records, maar gebruik dit alleen als je dit wilt combineren met een join op een andere tabel, anders kan je het net zo goed in PHP doen.


Ger wat ik eigenlijk zocht is een query die (zonder dat er ook maar een tabel bij komt kijken / of ook op een lege tabel werkt) gewoon de datums op somt van de komende X aantal zondagen.

Reden hiertoe: dan ben je onafhankelijk van de php versie die op de server draait. zoals je misschien wel weet zijn een aantal datum functies pas beschikbaar vanaf php 5.2 / 5.3. Jij zou dit (met al je sql knowhow) toch met PHP doen?
Gewijzigd op 14/02/2013 17:14:43 door Frank Nietbelangrijk
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

14/02/2013 17:51:09
Quote Anchor link
Ik weet dat het datetime object pas vanaf 5.2 er is, maar ik gebruik dat niet, al is het alleen maar om de reden dat het geen locales ondersteunt.
Ik gebruik dus nog de normale date functies, en daar kan je ook vrij eenvoudig dagen, weken etc. mee uitrekenen.
Dus ja, ik doe dat bij voorkeur in PHP, tenzij ik het verder op in de query weer nodig heb.
 
Jan R

Jan R

15/02/2013 06:38:17
Quote Anchor link
Blij dat ik kon helpen. vooral na de vele hulp dat ik al heb gekregen :)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.