Hallo iedereen!

Ik ben bezig met een CMS. De CMS kant is zo goed als af en ik ben nu bezig met de voorkant.

In de CMS kun je instellen dat hij automatisch berichten archiveert. Als je dit hebt aanstaan, kun je ook kiezen na hoeveel dagen de berichten worden gearchiveerd. Je kunt ook instellen hoeveel er minimaal getoond moeten worden.

Ik heb een query als deze:

SELECT 
title
, message
, DATE_FORMAT(postdate, '%d.%m.%Y %H:%i') as showdate 
FROM
tabel_naam
WHERE
postdate >= NOW()-$arch_na_x_dagen
Nu wil ik dus wel dat hij altijd 10 berichten laat zien, ongeacht of het bericht nu kleiner is dan NOW() - $arch_na_x_dagen of niet.

Ik ben (nog) niet een ster in SQL. Weet iemand misschien hoe dit te maken? :)

SELECT 
title
, message
, DATE_FORMAT(postdate, '%d.%m.%Y %H:%i') as showdate 
FROM
tabel_naam
ORDER BY
postdate DESC (of ASC, ik haal ze verdomme altijd door elkaar :( )
LIMIT
10-(COUNT(SELECT 
title
, message
, DATE_FORMAT(postdate, '%d.%m.%Y %H:%i') as showdate 
FROM
tabel_naam
WHERE
postdate <= NOW()-$arch_na_x_dagen
ORDER BY
postdate DESC (of ASC, ik haal ze verdomme altijd door elkaar :( )
));

met een subquery?
Klaasjan Boven schreef op 15.10.2006 22:13
en zoiets al geprobeerd?

SELECT IF(SELECT COUNT(*) FOM BLAAT WHERE BLAAT > 10 ),je sql, je andere sql)

LOL iedereen wil de ba(a)s graag helpen natuurlijk ;)


Ja natuurlijk, maar ik vind het vooral een leuke uitdaging ;)
Het wordt wachten op PHPerik of Frank dan.
Eerst moet Bas maar eens met de reultaten van de voorstellen komen. En je vergeet Blanche en Willem Vp (alleen die zei ik nooit meer)

Mijn idee doet het lokaal iig niet :(
Nee ik heb het geprobeerd en het werkt idd niet Klaasjan :)
In de ene reactie staat dat er MINIMAAL 10 berichten moeten worden opgehaald, in de andere reactie staat er 10 (dus PRECIES 10) berichten moeten worden opgehaald. Wat moet het nu worden?

Kun je het nog een keer helder in 1 keer uitleggen? Ik ben even de draad kwijt.
Altijd 10, maar als er minder zijn, minder omdat er niet meer in zitten, dan moet dat aangevuld worden met de rest.

Volgens mij moet je het zo zien.
@Kalle: Wanneer dat het geval is, heb je helemaal geen WHERE nodig. Gewoon sorteren op datum DESC en een LIMIT 10. Klaar ben je. Dat heeft Robert ook al geroepen.
Ja maar dan krijg je dus alles, hij moet wel eerst aan dat voldoen, wanneer er geen 10 zijn, dan aangevuld worden met de rest. Zo heb ik het opgevat

Reageren