Nieuws tonen adh van datum
Gegevens zijn o.a.
- Titel
- Tekst
- Status (Actief/Inactief)
- Publicatiedatum
- Publicatietijd
Nu wil ik op een pagina op de site het laatste nieuwsbericht tonen.
Check moet zijn dat het bericht:
- actief is (dus status='1')
- tijdnu >= publicatiedatum + publicatietijd
(de publicatiedatum en tijd moeten dus geweest zijn)
De gebruiker kan dus in het CMS aangeven of het bericht actief moet zijn en wanneer het gepubliceerd moet worden.
Over het laatste heb ik al een dag lopen kloten en ik kom er niet uit.
Wie kan mij helpen?
Gewijzigd op 22/03/2006 12:19:00 door Tom Hes
Simpelste oplossing:
Maak van pub.datum en tijd een datetime veld.
je where close wordt dan ongeveer zo:
WHERE status = 1 AND publicatiedatetime >= NOW()
Complimenten voor je duidelijke vraag en eigen inbreng
Volgens mij ben je er dan al...
MarDek:
Het stellen van de vraag is in dit geval het geven van het antwoord. Alleen dat kleine duwtje nog.
Simpelste oplossing:
Maak van pub.datum en tijd een datetime veld.
je where close wordt dan ongeveer zo:
WHERE status = 1 AND publicatiedatetime >= NOW()
Complimenten voor je duidelijke vraag en eigen inbreng
Simpelste oplossing:
Maak van pub.datum en tijd een datetime veld.
je where close wordt dan ongeveer zo:
WHERE status = 1 AND publicatiedatetime >= NOW()
Complimenten voor je duidelijke vraag en eigen inbreng
Bedankt voor het duwtje.
Heb alleen nog een zetje nodig:
hoe maak ik van de velden "publicatiedatum" en "publicatietijd" één veld "publicatiedatetime" meteen in de query, zodat ik daarop kan selecteren?
Want het zijn 2 aparte kolommen publicatiedatum" en "publicatietijd"
Arjan:
SELECT * FROM tabel WHERE status = 1;
Volgens mij ben je er dan al...
Volgens mij ben je er dan al...
Volgens mij niet, want dan neemt ie ook alle berichten mee die nog geplaatst moeten worden in de toekomst. toch? Dus waarvan de publicatijdatum nog niet is geweest.
SELECT * FROM tabel WHERE status = 1 AND publicatiedatetime >= NOW()
laatste bericht tonen doe je op de volgende manier:
SELECT * FROM tabel ORDER BY datum DESC
Maar als jij berichten wilt publiceren op een datum in de toekomst, en wel alvast een status 1 meegeven..
Dan word het iets als
SELECT * FROM tabel WHERE status = 1 AND datum <= NOW();
Dan haal je alle berichten op met de status 1, en een datum die minder of gelijk is aan 'nu'.
Tom wil ook op tijd selecteren zie eerste post vandaar de datetiime en NOW()
Ja, afgelopen, zomenteen weer terug :).
Erik:
publicatiedatetime DATETIME NOT NULL default '0000-00-00 00:00:00',
SELECT * FROM tabel WHERE status = 1 AND publicatiedatetime >= NOW()
laatste bericht tonen doe je op de volgende manier:
SELECT * FROM tabel ORDER BY datum DESC
SELECT * FROM tabel WHERE status = 1 AND publicatiedatetime >= NOW()
laatste bericht tonen doe je op de volgende manier:
SELECT * FROM tabel ORDER BY datum DESC
Maar dan moet ik dus in de database een nieuwe kolom aanmaken?
Dat wil ik eigenlijk juist niet. Tenzij het niet anders kan.
Kan ik dus 2 kolommen (strings) samenvoegen in een query en dan vervolgens sorteren daarop?
Je wilt toch weten waneer een bericht geplaatst is :+.
Arjan:
Nee, wat die berichtjes hebben toch geen status 1?
Maar als jij berichten wilt publiceren op een datum in de toekomst, en wel alvast een status 1 meegeven..
Dan word het iets als
SELECT * FROM tabel WHERE status = 1 AND datum <= NOW();
Dan haal je alle berichten op met de status 1, en een datum die minder of gelijk is aan 'nu'.
Maar als jij berichten wilt publiceren op een datum in de toekomst, en wel alvast een status 1 meegeven..
Dan word het iets als
SELECT * FROM tabel WHERE status = 1 AND datum <= NOW();
Dan haal je alle berichten op met de status 1, en een datum die minder of gelijk is aan 'nu'.
Ja inderdaad, alleen, heb ikde datm in de database de datum in 2 kolommen staan (datum en tijd)
Moet ik dat dus gaan veranderen in een datumtijd kolom...
He ben ik nu de man van de spreekwoorden?
thanks