Hur gör man ett enkelt månads arkiv till nyheterna man har på sidan?
Alltså presentera ett arkiv med länkar som
- Januari, 2001
- Februari, 2001
osv
14 svar · 401 visningar · startad av CatZ
Hur gör man ett enkelt månads arkiv till nyheterna man har på sidan?
Alltså presentera ett arkiv med länkar som
osv
typ så här:
sql = "SELECT * FROM Nyheter WHERE datum LIKE '"&år&"-"&månad&"%'"
Det beror på hur datumet ser ut. Om du bara spar med manadsnumret i en kolumn för nyheten kan det se ut såhär.
SQL = "SELECT * FROM Nyheter WHERE manadnummer = "&datepart("m", date)&" "
Om du har ett komplett datum över när nyhten är skriven, eller bara ändå så skulle detta funka.
SQL = "SELECT * FROM Nyheter WHERE datepart(m, datum) = "&datepart("m", date)&" "
r/
Sen kan du alltså byta ut date mot månader som du får fram genom t.ex. en loop.
SQL = "SELECT * FROM Nyheter WHERE datepart(m, NrDatum) = " & datepart("m", date) & " "
set rs = dbCom.Execute(SQL)
Ger följande fel....
Feltyp:
Microsoft JET Database Engine (0x80040E10)
Det har inte angetts något värde för en eller flera nödvändiga parametrar.
/nyheter.asp, line 9
Någon som hajjar vad som e fel ?
Jag skulle gissa på att det är för att vi inte vet vad m är. m är en sträng, och skall omslutas på något trevligt sätt:
SQL = "SELECT * FROM Nyheter WHERE datepart([b]'m'[/b], NrDatum) = " & datepart("m", date) & " "
set rs = dbCom.Execute(SQL)
Mvh,
Tack @nders det var precis så ;)
Case "arkiv"
SQL = "SELECT * FROM Nyheter WHERE NOT datepart('m', NrDatum) = " & datepart("m", date)
set rs = dbCom.Execute(SQL)
Dim iAntalManader
For iAntalManader = 1 to iSenaste step -1
response.Write "<a href=nyheter.asp?cmd=vm&id=" & rs("NrID") & ">" & rs("NrDatum") & "</a><br>"
next
Det verkar fungera, men hur gör jag så att det presenteras en länk till som plockar fram aktuell månad istället? ska jag köra med År, Månad, Dag och Tid som separata kolumner i databasen istället och ge dem typen Tal ? Har sett att man gör så när man skapar en kalender....
response.Write "<a href=nyheter.asp?cmd=vm&manad=" & FormatDateTime(rs("NrDatum"), vbShortDate) & ">" & rs("NrDatum") & "</a><br>"
Visar ju YYYY-MM-DD, hur gör man för att visa bara månad och år ?
tack igen @nders! :f
datePart("yyyy", rs("NrDatum"))
fungerar ju utmärkt, men hur lägger jag till månaden till det ?
datePart("yyyy+månad", rs("NrDatum")) ??
Om månad är mm (minns inte riktigt):
datePart("yyyy", rs("NrDatum")) & "-" & datePart("mm", rs("NrDatum"))
typamungo. :)
Hmmm det här kommer aldrig fungera.... för det första skriver detta ut dubbletter. och för det andra måste det bli VÄLDANS svårt att visa nyheterna från den månaden.
Undrar om det inte vore lättare att göra ett fält för År ett för Månad ett för dag och ett för tid ?
Någon som har gjort ett månatligt nyhets arkiv ?