[PHP/MYSQL] Query:interval functie, filteren niet in weekend

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik gebruik nu een een query waamee ik mbv de INTERVAL opdracht datums selecteer uit een mysql database. Dit is een script wat dagelijks 1 keer draait wat datums voor facturering uit de database haalt

Voorbeeld:
[php]mysql_query("SELECT * FROM abo WHERE betaaldatum = DATE_ADD(NOW(), INTERVAL 7 DAY) and status = '3'");[/php

Opzich niks mis met deze query, deze werkt prima, ik krijg elke dag de resultaten die over 7 dagen van toepassing zijn, echter nu wil ik alle resultaten eruit filteren die in een weekend vallen.
Dus als een result op zaterdag of zondag valt dan moet deze NIET worden weergeven, maar deze moeten dan maandag of de vrijdag ervoor worden weer gegeven.

Iemand een idee hoe ik dat het beste kan realiseren?

Acties:
  • 0 Henk 'm!

  • disjfa
  • Registratie: April 2001
  • Laatst online: 03-07 14:47

disjfa

be

Bij de output kijken op welke dag deze vallen. Met mysql kan het zo ver ik weet niet maar met de output kan je het gemakkelijk met een datum functie.

disjfa - disj·fa (meneer)
disjfa.nl


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Kijk eens naar DATE_FORMAT in combinatie met %w als formaat.

http://dev.mysql.com/doc/...e-and-time-functions.html

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Speel es met CASE en DAYOFWEEK, een opzetje:
betaaldatum = CASE DAYOFWEEK(DATE_ADD(NOW(), INTERVAL 7 DAY)) WHEN 1 THEN zondag WHEN 7 THEN zaterdag ELSE normaal END

Je hoeft trouwens niet per se die DATE_ADD al in de DAYOFWEEK te gebruiken... want vandaag is het natuurlijk dezelfde dag als over 7 dagen :P
En als je juist op vrijdag ook die van zaterdag wilt en op maandag ook die van de zondag ervoor, dan moet je natuurlijk een beetje anders maar vergelijkbaar creatief zijn.

[ Voor 58% gewijzigd door ACM op 23-01-2006 07:28 ]