Avatar billede pnt71 Nybegynder
31. december 2001 - 12:02 Der er 1 løsning

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
Avatar billede pnt71 Nybegynder
10. januar 2002 - 23:38 #1
Ingen svarer, desværre

/Per
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester