where clause in CURDATE

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

John de Winkel

John de Winkel

17/10/2008 09:07:00
Quote Anchor link
Ik moet een WHERE inbouwen in een query maar weet even niet hoe.

Ik wil graag alle records selecteren die de laatste 30 dagen zijn toegevoegd. Er is geen datumveld in de database.

Heb wel een code gevonden maar die werkt met een datumveld in de database, maar die is er niet.
Ik kom even niet verder.

Weet iemand hoe het eruit moet zien?
 
PHP hulp

PHP hulp

25/12/2024 14:45:06
 
Thijs Damen

Thijs Damen

17/10/2008 09:18:00
Quote Anchor link
zonder enige vorm van een datum veld in je database kun je dit niet.

je kan wel een datumveld toevoegen nu, en alle toekomstige rijen van een datum voorzien (en eventueel de huidige rijen op vandaag zetten).
 
Eddy E

Eddy E

17/10/2008 10:15:00
Quote Anchor link
Je kan een datum ook on-the-fly maken.

Dat kan met CONCAT.

Klein, denkbeeldig voorbeeldje om de examendata van de afgelopen 30 dagen te pakken
(en dit werkt gewoon op 3 janauri, 19 december etc.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
SELECT
   id,
   naam,
   DATE(CONCAT(jaar, '-', maand, '-', dag)) AS examendatum
   WHERE DATE(CONCAT(jaar, '-', maand, '-', dag)) > DATE_SUB(CURDATE(),INTERVAL 30 DAY)



Maar goed.... wie heeft er nou 3 kolommen om een datum aan te geven?
Gewijzigd op 01/01/1970 01:00:00 door Eddy E
 
John de Winkel

John de Winkel

17/10/2008 10:46:00
Quote Anchor link
Ok,

Bedankt voor de info.

Ik heb nu een verborgen date aangemaakt die automatisch wordt gegenereerd bij een nieuw record.

Daar wordt in de WHERE naar verwezen. Dit werkt dus.

Er zitten echter ruim 700 records in die geen datum hebben.
Ik ga dus invullen tot ca 30 dagen geleden, de rest neemt de query toch niet mee.

Bedankt voor het idee Thijs (en ook Eddy natuurlijk)

John
 
Eddy E

Eddy E

17/10/2008 11:47:00
Quote Anchor link
Alle 700 records omzetten kan ook binnen 1 seconde met sql:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
UPDATE tabel
SET datum = DATE(CONCAT(jaar, '-', maand, '-', dag)


Of zoiets.
Dan vult de database automatisch de nieuwe kolom met de nieuwe data.
Je hoeft niet altijd iets met php aan te leveren, wil een sql nut hebben!
 



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.