Frågan 8 aug. 2001 19:16 #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
L LarsG Medlem sedan dec. 2000 12 464 inlägg 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.
J jorgen Medlem sedan feb. 2001 2 412 inlägg 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
L LarsG Medlem sedan dec. 2000 12 464 inlägg 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.
J jorgen Medlem sedan feb. 2001 2 412 inlägg 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
E emission Medlem sedan dec. 1999 6 721 inlägg Jo, så funkar det. Arrayen får samma rad-/kolumnindelning som recordsetet.
J jorgen Medlem sedan feb. 2001 2 412 inlägg He he, jag som klantat. Det löste sig till det bästa, tack alla!
mvh Jörgen