webForumDet fria alternativet

Ännu en COUNT-fråga

ASP

3 svar · 207 visningar · startad av Korak

Medlem sedan maj 2001133 inlägg
Frågan#1

Håller på med ett script för att lista filer som besökarna kan ladda hem.
Nu är det bara en sista grej som jag helt enkelt inte kan få till, det är två typer av räknare.

Jag har en databas med två tabeller:
"links" och "kategorier".
I "kategorier" ligger "id" och "kategori" och i tabellen "links" ligger bla. "hits" som räknar antal klick på en länk.

Det jag nu vill ha fram är hur många länkar det finns totalt samt vilken länk som har flest antal klick.

Jag har provat alla möjliga varianter utan att lyckas.
Så här ser kopplingen ut nu:

' Database connection
Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * FROM kategorier ORDER BY kategori"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("downloads.mdb")
rs.Open strSQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
    Response.Write "<table width='500' cellspacing='1' cellpadding='3'>"
  Do until rs.EOF = True

Response.Write "<tr><td>Tänk om jag kunde ränka alla länkar och säga vilken som är populärast.</tr></td>"

  rs.MoveNext
  Loop
End If

    Response.Write "</table>"
rs.Close
Set rs = Nothing

------------------

MVH, Korak
www.eskobar.nu

Medlem sedan feb. 200212 inlägg
#2

prova med detta...


rs.movefirst
X=0
do until rs.EOF
X=X+1
rs.movenext
loop

i dokumentet:

<%=X%>

------------------
::muffika.tk::

Medlem sedan maj 2001133 inlägg
#3

Där hängde jag inte med alls.
Jag antog att man ska göra nåt i stil med:

strSQL = "SELECT kategori, count(*) as Antal FROM links GROUP BY kategori ORDER BY kategori"

Och för att visa antalet:

" & rs("Antal") & "

Men jag får inte det att funka.
Sedan vill jag ju också få in SELECT TOP 1 från "hits" i det hela.

Tanken är alltså att det ska vara en sida med lite info innan man kommer till själva Download-sidan.
På info-sidan vill jag kunna visa:
"Det finns x antal filer att ladda hem, just nu är "Flest antal klick" populärast.

------------------

MVH, Korak
www.eskobar.nu

Medlem sedan dec. 200012 464 inlägg
#4

För att få fram totala antalet länkar

query = "select count(*) as antal from links"
set rs = connect.execute(query)
response.write "Antal länkar " & rs("antal")
rs.close

För att få fram den med flest hits

query = "select top 1 * from links order by hits desc"
set rs = connect.execute(query)
response.write "Populäraste länken " & rs("link")
rs.close

Hur kommer kategorier in i bilden? Vill du ta fram antalet länkar i varje kategori?

query = "select kategori,count(*) as antal from links inner join kategori on kategori.id = links.kategoriid"
251 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
117 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)