webForumDet fria alternativet

Massa RecSet till 1?

8 svar · 301 visningar · startad av Bosse168

Bosse168Medlem sedan nov. 20031 018 inlägg
#1

Någon som vet hur man får ihop alla dessa recset till 1? tror det skulle göra min databas glad :)
Jag blir helt förvirrad själv.

Set rs = Connect.Execute("SELECT Count(username) From members")

Set rs2 = Connect.Execute("SELECT Count(username) From members Where status = 'online'")

Response.Write("<b>"& rs2.Fields(0) &"</b> av <b>"& RS.Fields(0) &"</b><br>")

rs.Close : Set rs = Nothing
rs2.Close : Set rs2 = Nothing

Set rs = Connect.Execute("Select id From gb Order BY id Desc LIMIT 1")

Response.Write("<b>"& rs("id") &"</b><br>")

rs.Close : Set rs = Nothing

Set rs = Connect.Execute("Select messageid From mailin Order BY messageid Desc LIMIT 1")

Response.Write("<b>"& rs("messageid") &"</b><br>")

rs.Close : Set rs = Nothing

 
Set rsForum = Connect.Execute("SELECT Count(postid) From forumpost")
Response.Write("<b>"& rsForum.Fields(0) &"</b><br>")
LarsGMedlem sedan dec. 200012 464 inlägg
#2
SELECT 'Count',Count(username) , 
  sum(case when status = 'online' then 1 else 0 end)
From members
union all
select 'gb' , max(id), 0  from gb
union all
select 'mailin', max(messageid),0 from mailin

Vilka index du har är mer betydelsefullt för prestanda än att du har ett anrop istället för fyra.

Bosse168Medlem sedan nov. 20031 018 inlägg
#3

Missade att få med:
Set rsForum = Connect.Execute("SELECT Count(postid) From forumpost")

Och hur gör jag för att sedan skriva ut resultaten av räkningarna?

LarsGMedlem sedan dec. 200012 464 inlägg
#4
sql = "SELECT 'Count',Count(username) , 
  sum(case when status = 'online' then 1 else 0 end)
From members
union all
select 'gb' , max(id), 0  from gb
union all
select 'mailin', max(messageid),0 from mailin
union all
SELECT 'posts',Count(postid) , 0 From forumpost"
set rs = connect.execute(sql)
while not rs.eof
  if rs(0) = "Count" then
     response.write rs(1),rs(2)
  else
  ..
   end if
   rs.movenext
wend

I princip. Med lite embellering kan det nog bli ganska vackert.

Bosse168Medlem sedan nov. 20031 018 inlägg
#5

får det här fel messet nu:

Microsoft VBScript runtime error '800a01c2'

Wrong number of arguments or invalid property assignment: 'Response.write'

/start.asp, line 22

Och håller med om att det blir vackert. :)

@ndersMedlem sedan juni 200032 969 inlägg
#6
  if rs(0) = "Count" then
     response.write rs(1)  & " - " & rs(2)
  else

Eller hur du nu vill presentera det.

Bosse168Medlem sedan nov. 20031 018 inlägg
#7

Funkar klocka men det skriver bara ut antalet medlemar och hur många som är online.

@ndersMedlem sedan juni 200032 969 inlägg
#8

I else-blocket lägger du koden för att skriva ut resten. Så: vad har du lagt i else-blocket?

Bosse168Medlem sedan nov. 20031 018 inlägg
#9

ohh vad dum jag är skyller på bakfyllan. ;)

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