webForumDet fria alternativet

en hel massa count

6 svar · 205 visningar · startad av Jörgen HP

Jörgen HPMedlem sedan feb. 20012 179 inlägg
#1

Hej!

Håller på att fixa till flera avdelningar på mitt forum. Vill räkna antal ämnen, antal inlägg samt datumet när det senaste inlägget gjordes i varje forums avdelning.

Det sättet jag gjort det på med en hel massa SQL satser är inte alls bra.

Tabellerna ser ut så här:

Forum

ForumId (tinyInt, auto_increment)
ForumName (char)
ForumUse (char)

Debatt

MessId (Int, auto_increment)
Orghtread (tinyInt(1), 0=false, 1=true)
ForumId (tinyInt, relaterad till ForumId ovan)
Replies (antal svar/meddelande)
ReplyId (får Org. inläggets Id nr)
Date (timestamp(12))

Tacksam för hjälp!

Mvh Jörgen

------------------
*** Var går gränsen mellan långa kortbyxor och korta långbyxor? ***

LarsGMedlem sedan dec. 200012 465 inlägg
#2

Varför har du inte en separat tabell för ämnen? I den skulle du kunna spara antal inlägg i ämnet och datum för senaste inlägget.

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

jorgenMedlem sedan feb. 20012 179 inlägg
#3

Det blev nog lite förvirring här :)

Tabellen Forum är de olika ämneskategorierna.

Jag har ett forum om hundar, där jag tänkt mig olika underavd.

1:a sidan som man kommer till ser ut typ så här:

HundForum

Avdelning | Trådar | Inlägg |senaste inlägg

Skötsel | 34 | 235 | 99-05-12

Tävling | 123 | 781 | 01-04-29

Det är de siffrorna jag vill ta fram med så få sql frågor som möjligt.

på ett liknande sätt som WF har, http://cgi.webforum.nu/wfcgi/

Mvh Jörgen

------------------
*** Var går gränsen mellan långa kortbyxor och korta långbyxor? ***

[Redigerat av jorgen den 08 aug 2001]

[Redigerat av jorgen den 08 aug 2001]

[Redigerat av jorgen den 08 aug 2001]

LarsGMedlem sedan dec. 200012 465 inlägg
#4

Så det är i tabellen forum som Skötsel, ... ligger


select count(distinct replyid) as threads,
       count(*) as posts,
       max(date) as lastdate,
       forumName
  from debatt join forum
    on debatt.forum = forum.forumid
 group by forumName

Något sådant.

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

[Redigerat av LarsG den 09 aug 2001]

jorgenMedlem sedan feb. 20012 179 inlägg
#5

Tack LarsG!

Efter lite modifiering funkar det om jag lägger det i vanigt recset så att säga. Men om jag vill lägga det i en array istället.


strSQL = "select count(distinct ReplyId) as threads, " & _
"count(*) as posts, " & _
"max(Date) as lastdate, ForumName " & _
"from b1180.Debatt inner join b1180.Forum " & _
"on Debatt.ForumId = Forum.ForumId " & _
"group by ForumName"
strConn = "DSN="
Set objConn = Server.CreateObject("ADOdb.Connection")
objconn.Open strConn
arrForum = objConn.Execute(strSQL).GetRows()

räknas threads som 0.I och posts som 1.I osv eller man kan inte tänka så när man använder count() AS kul_namn?

mvh Jörgen

------------------
*** Var går gränsen mellan långa kortbyxor och korta långbyxor? ***

emissionMedlem sedan dec. 19996 095 inlägg
#6

Jo, så funkar det. Arrayen får samma rad-/kolumnindelning som recordsetet.

jorgenMedlem sedan feb. 20012 179 inlägg
#7

He he, jag som klantat. Det löste sig till det bästa, tack alla!

mvh Jörgen

------------------
*** Var går gränsen mellan långa kortbyxor och korta långbyxor? ***

Genererad på 515 ms · cache AV · v20260730165559-full.f96bc7eb