sova på saken låter klokt.
nu pekar den på ett fel här
set RecSet = Databas.execute[b](_[/b]
den parentesen ser inte ut att avslutas någonstans? ska ta en paus för ikväll tror jag :l
------------------
I wish I had your cocaine-confidence...
24 svar · 257 visningar · startad av laidback · sida 2 av 2
sova på saken låter klokt.
nu pekar den på ett fel här
set RecSet = Databas.execute[b](_[/b]
den parentesen ser inte ut att avslutas någonstans? ska ta en paus för ikväll tror jag :l
------------------
I wish I had your cocaine-confidence...
Ja, det var en parentes för lite.
<%
set RecSet = Databas.execute(_
"select top 1 title,name,ID,(select count(*) from k_comments where messid = km.id ) as antal " & _
"from k_messages km " & _
"where exists ( select 1 from k_comments " & _
"where messid = km.id )" & _
"order by 4 desc")
if not RecSet.eof then
response.write "<a href='view_message.asp?messID=" & recset("ID") & "'>" & RecSet("title") & "</a> av " & RecSet("name") & " som har " & RecSet("antal") & " kommentarer"
end if
RecSet.close
set RecSet = nothing
%>
Jag kom på en sak i natt, förmodligen kan den den andra varianten stämma, men då är det den här
set RecSet = Databas.execute(_
"select top 1 title,name,count(*) " & _
"from k_messages inner join k_comments on k_messages.id = k_comments.messid " & _
"group by title,name " & _
"order by 3 desc")
som är felaktig. I och med att det är group by på name och title så innebär det att om det finns flera olika inlägg med samma name och title så kommer dom att grupperas ihop. Så kommentarerna i det fallet räknas för flera inlägg.
Vad tror du om det?
------------------
essentitia preter non sans multiplicandum
hm. den första varianten ger nu inga felmeddelanden men returnerar ett inlägg med endast en kommentar.
din andra teori kan stämma, det låter troligt.
det gör att det hela blev lite besvärligare. ska testa dom olika varianterna igen och kolla av mot databasen och se vilket inlägg det borde vara som syns.
en fundering till, vad händer ifall flera inlägg har lika många kommentarer?!
------------------
I wish I had your cocaine-confidence...
top 1 tar med alla som har lika värden i de kolumner som ingår i order by, så det är ingen garanti att du får högst en post.
Du kan ju lägga en loop kring utskriften så att du får med alla.
------------------
essentitia preter non sans multiplicandum
ha. nu har jag studerat inläggen lite grann och jag tror att det fungerar nu. (!)
dock skriver den bara ut ett om det är flera med samma antal, men som du sa är det nog bara att lägga en loop där.
problemet var, precis som du sa, att den tog inläggen med samma title och räknade ihop dessa kommentarer så antalet, vid kontroll, var fel.
nu ser koden ut så här
<%
set RecSet = Databas.execute(_
"select top 1 title,name,id,count(*) as antal " & _
"from k_messages inner join k_comments on k_messages.id = k_comments.messid " & _
"group by title,name,id " & _
"order by 4 desc")
if not RecSet.eof then
response.write "<a href='view_message.asp?messID=" & recset("id") & "'>" & RecSet("title") & "</a> av " & RecSet("name") & " som har " & RecSet("antal") & " kommentarer"
end if
RecSet.close
set RecSet = nothing
%>
tusen tack för hjälpen! :D
------------------
I wish I had your cocaine-confidence...