Programmering af forum (javascript og ASP)
Jeg har forsøgt mig med at programmere et forum, men det har vist sig at give visse problemer. Mit problem er, at min side ikke virker på samme måde hver gang, og det gør det lidt svært. Jeg er forholdsvis nybegynder i faget, så det gør ikke det hele nemmere. Jeg vil være meget glad, hvis en eller anden kan fortælle mig, hvad der er galt.Ideen er, at når man går ind i forummet et bestemt sted vises beskederne i tråden op til starten (faktisk som her i Eksperten). Derfor skal jeg arbejde mig tilbage gennem tråden for at tildele de ID\'er, som de enkelte indlæg har op igennem tråden. Derefter skal de skrives igen i modsat rækkefølge.
Du kan et eksempel på, hvordan det er meningen, det skal fungere her: http://www.tipz.dk/forum1/forum1.asp?ID=8&ThreadID=1&ParentID=7&PostLevel=4&Besvar=4
Det, der ser ud til at være problemet er, at det array, jeg arbejder med ikke altid holder fast i væriderne!!! Hvis du trykker \"opdater\" i browseren nogle gange kommer der garanteret fejl en gang eller flere.
Jeg har forsøgt at lokalisere problemet på denne side:
http://www.tipz.dk/forum1/forum.asp?ID=8&ThreadID=1&ParentID=7&PostLevel=4&Besvar=4
Her skrives alle variable, der arbejdes med. Og som jeg oplever det, så mangler værdierne for nogle af IDarray\'s værdier engang imellem - og sommetider fungerer det fint!!!
Selve programmeringsdelen er som følger:
-------------------------
<%
var dbFilePath = \"DBQ=\" + Server.MapPath(\"../db/forum.mdb\");
var connectionStr = \"Driver={Microsoft Access Driver (*.mdb)}\";
var dbConnection = Server.CreateObject(\"ADODB.Connection\");
dbConnection.open(connectionStr + \";\" + dbFilePath);
var ID = Request.QueryString(\"ID\");
var PostLevelQ = parseInt(Request.QueryString(\"PostLevel\"));
var ParentID = Request.QueryString(\"ParentID\");
var IDarray = new Array(PostLevelQ-1);
var ParentIDarray = new Array(PostLevelQ-1);
IDarray[PostLevelQ-1] = ID;
ParentIDarray[PostLevelQ-1] = ParentID;
////////////////////////////////
// Find tråden op til starten //
////////////////////////////////
for (i=PostLevelQ-2; 0<=i; i--) {
sql1 = \"SELECT ID, ParentID FROM forum WHERE ID=\" + ParentIDarray[i+1] ;
res1 = dbConnection.execute(sql1);
ParentIDarray[i] = res1.Fields(\"ParentID\");
IDarray[i] = res1.Fields(\"ID\");
}
%>
<TABLE STYLE=\"border: 1px solid #cc3300\" width=100% cellspacing=0 cellpadding=3>
<%
/////////////////////////////////////////////////////////
// Skriv tråden fra starten og ned til den valgte post //
/////////////////////////////////////////////////////////
j = 0;
for (j in IDarray) {
sql = \"SELECT ID, ThreadID, ParentID, PostLevel, Format(PostDate, \'dd/mm/yy kl. hh:nn\') AS PostDate1, Navn, Overskrift, Tekst FROM forum WHERE ID=\" + IDarray[j] ;
res = dbConnection.execute(sql);
%>
-----------------
Jeg håber, nogen kan hjælpe
På forhånd tak!
/Per