login  Naam:   Wachtwoord: 
Registreer je!
 Forum

selecter vandaag X jaar in het verleden (Opgelost)

Offline markla - 24/05/2014 09:57
Avatar van marklaPHP interesse graag zou ik een script je hebben waar mee automatisch een newsitem dat op deze datum X jaar geleden op de site actueel was selecteren.

gezien het feit dat ik dit hier meldt geeft aan dat ik er niet uit kom

Dit is mijn recentste poging:
  1. SELECT
  2. NewsItem_ID AS newsitemid,
  3. NewsItem_Titel,
  4. DATE_FORMAT(NewsItem_date, '%d-%m-%Y') AS newsitemdate,
  5. DATE_FORMAT(NewsItem_date, '%Y') AS year,
  6. EXTRACT(MONTH FROM NewsItem_date) AS itemmonth,
  7. EXTRACT(MONTH FROM NOW()) AS nowmonth
  8. FROM newsitems
  9. WHERE itemmonth = nowmonth


Maar daarmee krijg ik de melding : Unknown column 'itemmonth' in 'where clause'

Wat doe ik fout?

2 antwoorden

Gesponsorde links
Offline Thomas - 24/05/2014 13:07 (laatste wijziging 24/05/2014 13:10)
Avatar van Thomas Moderator Soms kun je berekende aliassen niet gebruiken als argumenten (verderop) in je query.

Waarom gebruik je niet gewoon:

WHERE MONTH(NOW()) = MONTH(NewsItem_date)
(of met EXTRACT, als je dat prefereert)

in plaats van:

EXTRACT(MONTH FROM NewsItem_date) AS itemmonth,
EXTRACT(MONTH FROM NOW()) AS nowmonth
...
WHERE itemmonth = nowmonth

Tevens: je kent de huidige maand waarschijnlijk ook in de gebruikte scriptingtaal, dus je zou dit als argument kunnen opnemen in je query.

Zoals de query nu is / wordt krijg je overigens alle artikelen uit verschillende jaren (ook van dit jaar) uit dezelfde maand, ik weet niet of dat de selectie is die je wilt maken, ik kreeg de indruk dat je dit echt op dag wilde doen? Je zou altijd nog een extra argument in je WHERE-conditie op kunnen nemen, zodat je voorgaande jaren selecteert:

AND YEAR(NewsItem_date) < YEAR(NOW())

Ook hier zou je het huidige jaartal in kunnen voegen vanuit je scriptingtaal.

En dan wil je waarschijnlijk de artikelen ook nog aflopend sorteren op datum / artikel-id of wat dan ook.
Bedankt door: markla
Offline markla - 25/05/2014 10:14
Avatar van markla PHP interesse Kijk dat is hem  

nog even wat andere AND voorwaarde toegepast en het werkt zoals ik wil  

Thanks!!
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.233s