TrumpfMedlem sedan feb. 2004213 inlägg Hej.
Jag har gjort ett script i min community där medlemarna kan skriva in egna nyheter, inbjudningar osv.
På första sidan vill jag bara visa de 5 kommande från dagensdatum.
Idag den 2004-05-04 och jag har den sista nyhetern inne med datum 2004-05-10 och diverse nyheter imellan.
Jag har koden nu:
<%
Dim con
Set con = Server.CreateObject("ADODB.Connection")
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("members.mdb")
con.open
%>
<%
strSQL = "SELECT Top 5 * FROM members order BY nyheter_datum DESC"
Set rs = con.Execute(strSQL)
%>
<%Do While not rs.eof%>
<%
rs.movenext
Loop
rs.Close
con.Close
Set con = Nothing
%>
Jag vill också att han hoppar över att visa nyhetern om den är 2 dagar gammal exempelvis. Men hur gör jag?
KoTTeNMedlem sedan sep. 20011 722 inlägg Re: Nyheter och datum sortering.
Om du ändrar din SQL-fråga till följande borde fungera som du vill.
strSQL = "SELECT Top 5 * FROM members order [B]WHERE nyheter_datum BETWEEN #"& Date &"# AND #"& DateAdd("d", -5, Date)&"#[/B] ORDER BY nyheter_datum DESC"
Engine^Medlem sedan dec. 20003 887 inlägg Det känns som om det är en miss i databasdesignen här eller så är det jag som missuppfattar innebörden av kolumnen nyheter_datum. Den kolumnen bör inte finnas i tabellen members.
Annars, om jag missuppfattat, så går det "snabbare" att skriva KoTTeNs förslag såhär
SELECT TOP 5 *
FROM members
WHERE nyheter_datum BETEWEEN Date() AND DateAdd('d', -5, Date())
ORDER BY nyheter_datum DESC
Asterisken i SQL-frågan ska du byta ut mot dom kolumner du vill ha. En asterisk är alltid fel om du inte kör COUNT(*).