webForumDet fria alternativet

Placera senst uppdaterad överst

ASP

8 svar · 359 visningar · startad av bassebhu

Medlem sedan nov. 20016 480 inlägg
Frågan#1

Hej! Jag har ett forum som jag laddat ner på aspsidan.nu. Där hamnar grund-inläggen på forum.asp och svaren på read.asp.

Nu vill jag att det på forum.asp ska placera senast uppdaterade ämnet överst. Alltså att den inte ordnar efter senast skapade tråd utan senast uppdaterade tråd.

Här är koden för att visa grundinläggen på forum.asp:

<%
Set Connect = Server.CreateObject("ADODB.Connection")
connect.open "DSN=data;UID=;PWD="

Set RecSet = Server.CreateObject("ADODB.Recordset")

Addera = "Select * From forum WHERE REF_ID = 0 ORDER BY DATUM DESC"
RecSet.Open Addera, Connect, 3,3
X=0
DO UNTIL X=25 OR RecSet.EOF '

nytt = "no"

Set RecSet2 = Server.CreateObject("ADODB.Recordset")

Addera2 = "Select DATUM From forum WHERE REF_ID = " &RecSet("ID")
RecSet2.Open Addera2, Connect, 3,3

DO UNTIL RecSet2.EOF OR nytt = "yes"
IF RecSet2("DATUM") > NOW - 1 THEN
nytt = "yes"
END IF

  RecSet2.MOVENEXT

LOOP

RecSet2.CLOSE
%>

help please

mvh: basse

Medlem sedan feb. 20012 412 inlägg
#2

Hej, gör ett datumfält till i databasen som uppdateras med now() varje gång någon svarar. Sedan sorterar du efter det fältet istället.

mvh Jörgen :)

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

Medlem sedan dec. 200012 464 inlägg
#3
<%
Set Connect = Server.CreateObject("ADODB.Connection") 
connect.open "DSN=data;UID=;PWD="
Set RecSet = Server.CreateObject("ADODB.Recordset")

Addera = "Select (select max(datum) from forum where id = f.id or ref_id = f.id ) as datum, f.*  From forum f WHERE REF_ID = 0 ORDER BY 1 DESC"
RecSet.Open Addera, Connect, 3,3
X=0
DO UNTIL X=25 OR RecSet.EOF '

IF RecSet("DATUM") > NOW - 1 THEN
nytt = "yes"
else 
nytt = "no"
END IF

%>

------------------
essentitia preter non sans multiplicandum

Medlem sedan nov. 20016 480 inlägg
#4

LARS: det funkar inte.

Det blir ju inget felmeddelande, men den raddar upp det alldeles fel. Kollat en bra stund men ser lixom inget mönster i hur den har listat upp det. inte med senast uppdaterade inlägg överst iaf. och inte underst heller för den delen. =(

mvh: basse

Medlem sedan dec. 200012 464 inlägg
#5

Vilken databashanterare använder du? Jag har föreslagit något liknande i ett annat sammanhang för någon som använder Access som också sa att det inte fungerade.

Jag har testat motsvarande frågor i annat än Access och det har fungerat.

Det kanske är enklare att du gör enligt Jorgens förslag.

------------------
essentitia preter non sans multiplicandum

Medlem sedan nov. 20016 480 inlägg
#6

access =( Så du kan alltså inte hjälpa mig då?

Förklara mer hur jag skulle göra med jorgens förslag...

tack för att du tog dig tid iaf.

mvh: basse

Medlem sedan dec. 200012 464 inlägg
#7

Du behöver lägga till en kolumn (lastUpdate t.ex.) av typen datetime i tabellen.
Sen när du gör insert på ett inlägg så får du lägga till följande (Jag gissar lite då jag inte vet hur tabellerna är definierade.)

sql = "update forum set lastUpdate = now() where ref_id = 0 and ? = " & threadId
connect.execute sql,,128

? motsvarar den kolumn som innehåller vilken tråd ett inlägg hör till och
threadId är då idnummer för den tråden.

Förmodligen går det att skriva om min select-sats så att den fungerar även i Access. Jag använder aldrig Access så jag kan inte testa ut något.

------------------
essentitia preter non sans multiplicandum

Medlem sedan nov. 20016 480 inlägg
#8

Hej!

Får upp:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'ref_id = 0 and id ='.
addera.asp, line 71

när jag kör:

SQL = "update asp set datum = now() where ref_id = 0 and id = " & threadId
set RecSet = Connect.Execute(sql)

hjälp!!!!!!!!

Medlem sedan dec. 200012 464 inlägg
#9

Det är din variabel threadId som är odefinierad. Hur får den sitt värde?

------------------
essentitia preter non sans multiplicandum

254 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)