Hey,

Ik heb een database aangemaakt met dingen die ik op bepaalde dagen wil doen ...

Ik heb een tabel aangemaakt met de onderverdelingen: "dag", "maand", "gebeurtenis", ...

Ik wil dit laten uitvoeren door een cronjob die 's nachts draaid en zo 's nachts een e-mail naar mij stuurd wat ik moet doen ...

Maar nu mijn vraag ...

Ik weet hoe ik de datum van vandaag moet oproepen ...

Met date(d) en date(m)


Maar hou kan ik ervoor zorgen dat ik deze data ook uit mijn database kan halen ?? want ik heb ook sommige dagen wanneer ik meer als 1 ding moet doen ... (En dus ook meer als 1 mail krijg)


Alvast bedankt,
Steven

ps. Iedere gebeurtenis komt het jaar erachter terug en heeft een eigen id ...
als je in de query de datum wilt gebruiken als voorwaarde zou je dat (in je SQL) kunnen doen met WHERE dag=DATE_FORMAT(now(), '%e')

%e is voor een dag met het volgende formaat: 1-31
%d is voor 01-31
**steven** schreef op 12.11.2006 02:40
Ik heb een tabel aangemaakt met de onderverdelingen: "dag", "maand", "gebeurtenis", ...

We moeten even precies weten hoe de structuur van je tabel eruit ziet voor we iets zinnigs kunnen zeggen.
deze is ...

CREATE TABLE `jaarboek` (
`dag` varchar(255) NOT NULL,
`maand` varchar(255) NOT NULL,
`id` float NOT NULL auto_increment,
`omschrijving` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;
Dag en maand in een VARCHAR en het id in een FLOAT?

Waarom sla je de datum niet op in een DATE, dan heb je ook een jaartal te pakken. Of je daar later wat mee gaat doen, mag je zelf weten. Die FLOAT verander je in een INT, dat lijkt mij wel zo logisch, zie hoofdstuk 11 van de MySQL-handleiding.

Met DAYOFMONTH() en MONTH() kun je simpel dagen en maanden uit een datum opvragen.
Frank schreef op 12.11.2006 14:41
Dag en maand in een VARCHAR en het id in een FLOAT?

Waarom sla je de datum niet op in een DATE, dan heb je ook een jaartal te pakken. Of je daar later wat mee gaat doen, mag je zelf weten. Die FLOAT verander je in een INT, dat lijkt mij wel zo logisch, zie hoofdstuk 11 van de MySQL-handleiding.

Met DAYOFMONTH() en MONTH() kun je simpel dagen en maanden uit een datum opvragen.


Hey,

de gebeurtenissen komen ieder jaar terug!
Maar ....

Hoe kan ik dat nu uit de database halen?

Mgv,
Steven

SELECT
  omschrijving
FROM
  jaarboek
WHERE
  MONTH(datumkolom) = 11
AND
  DAYOFMONTH(datumkolom) = 12

De query om alle gebeurtenissen op 12 november op te halen. Zoals je ziet wordt het jaartal niet gebruikt in de vergelijking.
Frank schreef op 12.11.2006 15:51

SELECT
  omschrijving
FROM
  jaarboek
WHERE
  MONTH(datumkolom) = 11
AND
  DAYOFMONTH(datumkolom) = 12

De query om alle gebeurtenissen op 12 november op te halen. Zoals je ziet wordt het jaartal niet gebruikt in de vergelijking.


Thx! verder lukt het me wel :)
Nog een andere manier:

SELECT
  omschrijving
FROM
  jaarboek
WHERE
  DATE_FORMAT(datumkolom, '%m-%d') = '11-12'

Reageren