webForumDet fria alternativet

Nyheter och datum sortering.

2 svar · 242 visningar · startad av Trumpf

TrumpfMedlem sedan feb. 2004213 inlägg
#1

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
#2

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
#3

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(*).

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)