Hallå! Skriver lite snabbt :) Hmm, Använd en databas tex SQL-sever. Tackar för de svar jag fått... gjorde om så att jag nu använder "insert into" samt "update ... set"... funkar fint!Forum - teknik med databaser...
Håller på att skriva ett forum och undrar några saker...
Den första frågan har inte bara med forumet att göra, men i alla fall - majoriteten av sidorna på siten hämtar information ur en databas... materialet har inget att göra med varandra, så jag undrar nu - bör jag ha allt i en databas (som lär bli nån minst en meg stor, och sedan växa ohämmat ifall forumet blir populärt, vilket iofs inte är så troligt) eller ha allt i olika databaser? Vilket är snabbare?
För det andra: hur bör man strukturera upp databasen för forumet? Blir det långsamt ifall jag, som jag nu kör på, har alla inlägg i samma tabell? Det kan ju bli några tusen stycken ifall man har tur :-)
När man skall lägga till nåt nytt i databasen, t.ex. nytt inlägg i forumet, måste man använda "SELECT * FROM forum", dvs ladda hela tabellen med allt innehåll, sedan ta addnew? Verkar slösa lite på resurser...
Hoppas att nån orkar läsa och svara på dessa frågor i alla fall... Tackar i så fall så mycket för hjälpen!
/ZapataSv: Forum - teknik med databaser...
Jag skulle använda en databas.
Sen minst tre tabeller... 1 med forumposterna, 1 med forumen, en kopplingstabell... så att om du har en post med ett svar lagrar du in svars_id i en cell och svartill_id i den andra... i post tabellen så lägger du in namn, text, och forumid på alla utom de som är respons till ett annan post... sen e det bara att göra en funktion som laddar alla childs till en post (alltså kollar om det finns svartill_id i kopplingstabellen och listar ut dem också, sen en check på den posten så att childsen listas upp till det svaret och om igen... tills alla är laddade...
Kopplingstabellen är inte särskilt trögladdad eftersom att den bara innehåller 2 fält. Det enda som kan bli trögt är själva posttabellen men... ja. Hoppas det löser sis, har du fler frågor e det bara att ställa dem.
/DanielSv: Forum - teknik med databaser...
är inte säker på att en kopplingstabell är vettigt i det här lägetl, jag hade nog kört med två tabeller. En för forumet och en för forum namen. Vad gäller svar osv är mitt tips att bygga upp en hiearki med parent / childs.
När det kommer till att läggga in nya poster i databsen, försök undvika recordset.addnew. Även om det finns sätt att snabba upp den metoden rejält, tror jag att du vinner på att exekvera SQL satser direkt till databasen för INSERTs.Sv: Forum - teknik med databaser...
Skapa 2 tabeller. En för de forum du vill ha på sidan och en för alla inläggen. Tabellen för inläggen skulle kunna ha några fält som t ex inlaggid (löpande inlägg för varje inlägg), forumid (till vilket forum inlägget "tillhör"), kedjaid (id för kedjan som inlägget tillhör), kommenterarid (id till vilket inlägget är ett svar på). Håll reda på om det är ett nytt inlägg eller svar på något inlägg.
Sen kan man skapa Stored Procedures som söker ut, tar bort och filtrerar utifrån dina önskemål.Sv: Forum - teknik med databaser...
Något som inte funkar fint är inloggningen jag gjort för sidan (hela siten). Liknar lite den som pelle satt upp i tips och tricks (eller var det nu var - tjuvkikade bl.a. på den). Lagrar, ifall inloggningen lyckas, diverse värden i Session(). Problemet är det att ifall jag loggar in på förstasidan (home.asp) och försöker nå sidorna för att administrera sidan (admin/admin.asp) så funkar det inte, trots att värdet sparas som Session("passed") = True. Har ett inloggningsscript i mappen admin också, och då funkar admin/admin.asp, men inte home.asp! Blir helt snurrig, allt tyder på att mina sessions-variabler endast gäller för den mapp de skapades i, vilket verkar helt sjukt!
Okej, tillbaka till forumet... Nuvarande system är två tabeller, en med alla olika forum (namn, antal meddelanden i det forumet, beskrivning etc.) samt ett för alla inlägg (med en massa information).
Systemet för att skilja meddelandena åt är med hjälp av kolumnen MessageID (har en kolumn ID (räknare) som primärnycket). Huvudinlägg och svar får samma MessageID, och sorteras sedan efter det datum det lades till (enligt formatet yyyy-mm-dd hh:mm:ss).
Blev långt det här... tackar som sagt för hjälpen jag fått hittills... undrar även ifall någon vet ett bra sätt att få ut de meddelanden som lagts till under det senaste dygnet, som inte innebär att man måste loopa igenom alla meddelanden och kolla... kanske i sql-satsen med WHERE...
Och lagrade procedurer... var kan jag läsa mera om det?
/Zapata