Hey mensen, ben ik weer eens met een vraag:
Ik heb een tabel in de database waarin nieuws staat, dit nieuws heeft zowel een start als een einddatum, om het nieuws op te halen gebruik ik de volgende query:
Het test bericht staat momenteel in de database op 2006-11-20 (vandaag), en de einddatum staat op 2006-11-30.
Het selecteren met alleen een startdatum gaat probleemloos, maar als ik wil selecteren met einddatum er bij krijg ik geen results terug. Verder zitten er ook geen fouten in de query en mijn collega weet het ook niet zeker.
Mijn collega heeft me wel een andere query gegeven, iets ingewikkelder maar niks schokkends.
(ja, ik weet dat de tweede niet overeenkomt, alleen zo heeft hij die me gegeven en moet dus nog eventueel aangepast worden).
Welke van de twee is het beste? En hoe kan ik de eerste query aanpassen zodat deze wel goed werkt?
Grts.
Ik heb een tabel in de database waarin nieuws staat, dit nieuws heeft zowel een start als een einddatum, om het nieuws op te halen gebruik ik de volgende query:
code:
1
2
3
4
5
6
| SELECT * FROM nieuws WHERE nieuws_startdatum >= '2006-11-20' AND nieuws_einddatum < '2006-11-20' ORDER BY nieuws_startdatum DESC LIMIT 3 |
Het test bericht staat momenteel in de database op 2006-11-20 (vandaag), en de einddatum staat op 2006-11-30.
Het selecteren met alleen een startdatum gaat probleemloos, maar als ik wil selecteren met einddatum er bij krijg ik geen results terug. Verder zitten er ook geen fouten in de query en mijn collega weet het ook niet zeker.
Mijn collega heeft me wel een andere query gegeven, iets ingewikkelder maar niks schokkends.
code:
1
2
3
4
5
6
| "SELECT * FROM news WHERE ( ( YEAR(newsEnddate) < '" . $jaar . "') OR ( YEAR(newsEnddate) = '" . $jaar . "' AND MONTH(newsEnddate) < '" . $maand . "') OR ( YEAR(newsEnddate) = '" . $jaar . "' AND MONTH(newsEnddate) = '" . $maand . "' AND DAYOFMONTH(newsEnddate) < '". $dag ."' )) AND flagID = '".$flagID."' ORDER BY newsStartdate DESC" |
(ja, ik weet dat de tweede niet overeenkomt, alleen zo heeft hij die me gegeven en moet dus nog eventueel aangepast worden).
Welke van de twee is het beste? En hoe kan ik de eerste query aanpassen zodat deze wel goed werkt?
Grts.