Avatar billede Meggel Novice
25. marts 2004 - 13:17 Der er 18 kommentarer og
2 løsninger

Forum problem

<% if Request.Querystring("id") = "ot" then %>
<table width="514" border="1" cellpadding="2" bordercolor="#2F2F2F">
  <tr>
    <td valign="top" width="502" colspan="2" background="images/News_BG.jpg">
      <p style="margin-left: 2" align="center"><b>Off-Topic</b></td>
  </tr>
</table>
<div align="left"><a href="forum.asp">Tilbage</a></div>
<div align="left"><a href="forum.asp?id=skrivot">Skriv indlæg</a></div>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("forumh4x.mdb")
Conn.Open DSN
sql1 = "Select * from ot Order by dato desc"
set rs1 = Conn.execute(sql1)
%>
<% do while not rs1.EOF %>
<table width="514" border="1" cellpadding="2" bordercolor="#2F2F2F">
  <tr>
    <td valign="top" width="100%">
      <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="502" height="16" id="AutoNumber3">
      <tr>
      <td width="307" height="7" bgcolor="#1A1A1A" bordercolor="#CCCCCC" colspan="2"><% response.Write "" & rs1.fields("af") & ":" %></td>
            <% if not session("asbjioasdpfaweutfafvasoeurcseuasfdkavsduyaveafsdvvhsdfuweyavyuevfueauksyevf") = "" then %>
      <% end if %>
      <td width="122" height="7" bgcolor="#1A1A1A" bordercolor="#CCCCCC"><% response.Write "" & rs1.fields("dato") & "" %></td>
      </tr>
      <tr>
      <td align="left" colspan="2"><hr color="#009900" width="10%"></td>
            <% if not session("asbjioasdpfaweutfafvasoeurcseuasfdkavsduyaveafsdvvhsdfuweyavyuevfueauksyevf") = "" then %>
      <td width="122" height="7" bgcolor="#1A1A1A" bordercolor="#CCCCCC"><% response.Write "<a href='addipban.asp?banip=" & rs1.fields("ip") &"'>Banip</a>("&rs1.fields("ip")&")"%></td>
      <% end if %>
      </tr>
      <tr>
    <td height="7" bgcolor="#1A1A1A" bordercolor="#CCCCCC" colspan="2"><% response.Write "" & rs1.fields("tekst") & "" %></td>
<% if not session("asbjioasdpfaweutfafvasoeurcseuasfdkavsduyaveafsdvvhsdfuweyavyuevfueauksyevf") = "" then %>
      <td width="122" height="7" bgcolor="#1A1A1A" bordercolor="#CCCCCC" align="center"><% response.write ("<a href='slet.asp?mode=delfot&id=" & rs1.fields("id") & "'>Slet</a>") %></td>
      <% end if %>
        </tr>
        </table>
</td>
</tr>
</table>
    <%
Rs1.MoveNext
Loop
set rs1 = nothing
end if
%>


så er det nu jeg spørg hvordan laver man et forum hvor man oprette et forum tråd hvor der er svar til ? vil tror der skal et felt mere til i databasen. men jeg kan ikke helt finde rundt i det.
Avatar billede styless Nybegynder
25. marts 2004 - 13:19 #1
Personligt forstår jeg ikke helt hvad du mener. Kan du beskrive det lidt mere :)
Avatar billede Meggel Novice
25. marts 2004 - 13:23 #2
lad os tag www.exp.dk som et eksemple.. der kan du jo oprette en tråd hvor du spørg om sådan noget her, hvor i så kan gå ind og svare på det..

det script der jeg har lavet der kan man jo ikke oprette en tråd men bare et forum indlæg under OFF-topic..
Avatar billede dragox Nybegynder
25. marts 2004 - 22:53 #3
hvad er det du vil ha den til ?
Avatar billede dragox Nybegynder
25. marts 2004 - 22:56 #4
vil du ha system point med, eller hva snakker du om, eller er det bare et normalt forum med diskution?
hvis det er det. opret din egen database og opret forum i den!
ellers forstår jeg dig ikk
Avatar billede styless Nybegynder
26. marts 2004 - 10:15 #5
Hmm måske vi skulle tage lidt grundlæggende forum 101.

Du har din database. Her opretter du 3 tabeller: forums, topics og posts. f.eks.

Den første side du laver lister alle forums f.eks. Off Topic, Hardware, Babes. osv.

Den næste side du laver er en side hvor du poster alle topics der er til den parent man har klikket på. Lad os sige brugeren har klikket på topic: Hardware som i databasen har ID = 1. På topic siden laver du så en SQL sætning der henter alle topics med ID = 1: "select * from topics where id = 1".

Den næste side du så skal lave er siden til at vise alle posts der er i det topic. Ligesom den side her. Lad os sige du har klikket på "Min P4 fejler" som i databasen har ID = 24. Dvs. du på den side skal lave en SQL sætning der hedder "select * from posts where id = 24".

Håber det gav mening og det kan bruges.
Avatar billede Meggel Novice
26. marts 2004 - 10:25 #6
hmm oki jeg vil lige kigge lidt på det..
Avatar billede Meggel Novice
26. marts 2004 - 10:55 #7
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
      <CENTER>.:: <B>Forum</B> ::.
      <BR>----------------------------------------------------------------------------
      </CENTER><BR>
      <TABLE width="100%" border=0>
        <TBODY>
        <TR>
          <TD>&nbsp;</TD></TR>
        <TR>
          <TD>
          <% if not session("loginoki") = "" then %>
Du er ikke logget ind<br>
Log ind eller opret dig en bruger her:<br>
<a href="default.asp?id=opretbruger">Opret bruger</a>
          <% else %>
          <%
          Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("Database/forumh4x.mdb")
Conn.Open DSN

SQL = "select * from Forums"
set rs = conn.execute(SQL)
SQL1 = "select * from Topics where Fid = '"&request.QueryString("forum")&"'"
set rs1 = conn.execute(SQL1)
SQL2 = "select * from posts where Tid = '"&request.QueryString("topic")&"'"
set rs2 = conn.execute(SQL2)
if request.QueryString("forum") = ""&rs.fields("id")&"" then
response.Write "<a href='forum.asp'>Tilbage</a><br><br>"
response.Write "<a href='forum.asp?topic="&rs1.fields("id")&"'>"&rs1.fields("topic")&"</a><br>"
elseif request.QueryString("topic") = ""&rs1.fields("id")&"" then
response.Write ""&rs2.fields("post")&"<br>"
else
do while not rs.EOF
response.Write "<a href='forum.asp?forum="&rs.fields("id")&"'>"&rs.fields("forum")&"</a><br>"
rs.movenext
loop
end if
end if
%>


</body>
</html>



nu har jeg lavet noget det der... men nu fik jeg et problem i line 37

elseif request.QueryString("topic") = ""&rs1.fields("id")&"" then

det er den der.. fejlen er

Undtagelse opstod.
/mikkel/forum.asp, line 37
Avatar billede dragox Nybegynder
26. marts 2004 - 11:20 #8
elseif request.QueryString("topic") = ""&rs1.fields("id")&"" then

skriv 3 istedet for 1 ... :)

fx.
elseif request.QueryString("topic") = ""&rs3.fields("id")&"" then
Avatar billede Meggel Novice
26. marts 2004 - 11:41 #9
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
      <CENTER>.:: <B>Forum</B> ::.
      <BR>----------------------------------------------------------------------------
      </CENTER><BR>
      <TABLE width="100%" border=0>
        <TBODY>
        <TR>
          <TD>&nbsp;</TD></TR>
        <TR>
          <TD>
          <% if not session("loginoki") = "" then %>
Du er ikke logget ind<br>
Log ind eller opret dig en bruger her:<br>
<a href="default.asp?id=opretbruger">Opret bruger</a>
          <% else %>
          <%
          Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("Database/forumh4x.mdb")
Conn.Open DSN

SQL = "select * from Forums"
set rs = conn.execute(SQL)
SQL3 = "select * from topics"
set rs3 = conn.execute(SQL3)
SQL4 = "select * from posts"
set rs4 = conn.execute(SQL4)
SQL1 = "select * from Topics where Fid = '"&request.QueryString("forum")&"'"
set rs1 = conn.execute(SQL1)
SQL2 = "select * from posts where Tid = '"&request.QueryString("topic")&"'"
set rs2 = conn.execute(SQL2)
if request.QueryString("forum") = ""&rs.fields("id")&"" then
response.Write "<a href='forum.asp'>Tilbage</a><br><br>"
response.Write "<a href='forum.asp?topic="&rs1.fields("id")&"'>"&rs1.fields("topic")&"</a><br>"
elseif request.QueryString("topic") = ""&rs3.fields("id")&"" then
response.Write ""&rs2.fields("post")&"<br>"
else
do while not rs.EOF
response.Write "<a href='forum.asp?forum="&rs.fields("id")&"'>"&rs.fields("forum")&"</a><br>"
rs.movenext
loop
if session("daadminbruger") = "" then %>
<form action="opretforum.asp" method="post">
Hovede Topic:<br>
<input type="text" name="forum1"><br>
<input type="hidden" name="forum" value="forum">
<input type="submit" value="Opret forum">
</form>
<%
end if
end if
end if
%>


</body>
</html>


nu vil den kun tag den første i databasen ??
Avatar billede dragox Nybegynder
26. marts 2004 - 12:03 #10
se dine tal ^^
Avatar billede Meggel Novice
26. marts 2004 - 18:27 #11
hmm ja nu har jeg fixet mit forum.. styless du får nogle point men ikke 100 da jeg synes det er for mange til det svar du ga..
Avatar billede Meggel Novice
26. marts 2004 - 18:28 #12
men jeg brugt det som du sagde... og det virker bare som det skal..
Avatar billede styless Nybegynder
26. marts 2004 - 18:30 #13
cool nok ... men nu har du accepteret dit eget svar så kan jeg ikke få nogen ;)
Avatar billede styless Nybegynder
26. marts 2004 - 18:31 #14
måske du skulle dele dem ud igen og så give mig 20 og dragox 20 han hjalp også pænt meget til ...
Avatar billede Meggel Novice
26. marts 2004 - 18:36 #15
dragox er min ven.. de ting han hjælp mig med ga jeg ham svaret til over msn.. fordi jeg var gal så fandt jeg ud af det og skrev det til ham så skrev han det her..
Avatar billede Meggel Novice
26. marts 2004 - 18:36 #16
du har fået 30 point styless
Avatar billede styless Nybegynder
26. marts 2004 - 18:46 #17
ok tak
Avatar billede dragox Nybegynder
27. marts 2004 - 10:13 #18
man må da godt give venner point? :D
Avatar billede Meggel Novice
27. marts 2004 - 10:21 #19
<TABLE width="100%" border=0>
<TBODY>
<TR>
<TD>&nbsp;</TD></TR>
<TR>
<TD>
<% if session("loginoki") = "" then %>
Du er ikke logget ind<br>
Log ind eller opret dig en bruger her:<br>
<a href="default.asp?id=opretbruger">Opret bruger</a>
<% else %>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("Database/forumh4x.mdb")
Conn.Open DSN
SQL = "select * from Forums"
set rs = conn.execute(SQL)
SQL3 = "select * from topics"
set rs3 = conn.execute(SQL3)
SQL1 = "select * from Topics where Fid = '"&request.QueryString("forum")&"'"
set rs1 = conn.execute(SQL1)
SQL2 = "select * from posts where Tid = '"&request.QueryString("topic")&"'"
set rs2 = conn.execute(SQL2)
if request.QueryString("forum") <> ""  then
response.Write "<a href='default.asp?id=forum'>Tilbage</a><br><br>"
session("forumting") = request.QueryString("forum") %>
<table width="100%" border="1">
<% do while not rs1.EOF %>
<tr>
<td width="90%">
<% response.Write "<a href='default.asp?id=forum&topic="&rs1.fields("id")&"'>"&rs1.fields("topic")&"</a> " %>
</td>
<% if not session("kanaltiverden") = "" then %>
<td width="10%">
<% response.Write "<a href='slet.asp?mode=topic&id="&rs1.fields("id")&"'>Slet</a><br>" %>
</td>
<% end if %>
</tr>
<% rs1.movenext %>
<% loop %>
</table>
<form action="opretforum.asp" method="post">
Overskrift:<br>
<input type="text" name="topic"><br>
Indlæg:<br>
<textarea name="post" cols="50" rows="6"></textarea><br>
<input type="hidden" name="id" value="<%=request.QueryString("forum")%>">
<input type="hidden" name="oprettopic" value="oprettopic">
<input type="submit" value="Opret">
</form>
<% elseif request.QueryString("topic") <> "" then %>
<% if not session("kanaltiverden") = "" then %>
<table width="100%" border="1" bordercolordark="#666666" >
<%do while not rs2.EOF %>
<tr>
<td width="90%">
<% response.Write "Skrev af: <a href='default.asp?id=bruger1&bruger="&rs2.fields("af")&"'>"&rs2.fields("af")&"</a><br>" %>
</td>
<td width="10%">
<% session("dbuasdoasdbasd") = request.QueryString("topic") %>
<% response.Write "<a href='slet.asp?mode=post&id="&rs2.fields("id")&"'>Slet</a><br>"%></td>
</tr>
<tr>
<td colspan="2">
<%response.Write "<br>"&rs2.fields("post")&"<br>" %>
</td>
</tr>
<tr>
<td colspan="2">
<% response.Write "Dato: "&rs2.fields("dato")&"" %>
</td>
</tr>
<%
rs2.movenext
loop %>
</table>
<% else %>
<table width="100%" border="1" bordercolordark="#666666" >
<%do while not rs2.EOF %>
<tr>
<td width="90%">
<% response.Write "Skrev af: <a href='default.asp?id=bruger1&bruger="&rs2.fields("af")&"'>"&rs2.fields("af")&"</a><br>" %>
</td>

</tr>
<tr>
<td>
<%response.Write "<br>"&rs2.fields("post")&"<br>" %>
</td>
</tr>
<tr>
<td>
<% response.Write "Dato: "&rs2.fields("dato")&"" %>
</td>
</tr>
<%
rs2.movenext
loop %>
</table>
<% end if %>
<form action="opretforum.asp" method="post">
Svar:<br>
<textarea name="post" cols="50" rows="6"></textarea><br>
<input type="hidden" name="id" value="<%=request.QueryString("topic")%>">
<input type="hidden" name="opretpost" value="opretpost">
<input type="submit" value="Opret">
</form>
<%
else

%>
<table width="100%" border="1">
<%
do while not rs.EOF %>
<tr> <tD width="90%"> <%
response.Write "<a href='default.asp?id=forum&forum="&rs.fields("id")&"'>"&rs.fields("forum")&"</a><br>" %>
</tD>
<% if not session("daadminbruger") = "" then %>
<td width="10%">
<% response.Write "<a href='slet.asp?mode=forum&id="&rs.fields("id")&"'>Slet</a><br>" %>
</td>
<% end if %>
</tr>
<%
rs.movenext
loop %>
</table>
<%
if not session("daadminbruger") = "" then %>
<form action="opretforum1.asp" method="post">
Hovede Topic:<br>
<input type="text" name="forum1"><br>
<input type="hidden" name="forum" value="forum">
<input type="submit" value="Opret forum">
</form>
<%
end if
end if
end if
%>
          </TD></TR>
        <TR>
          <TD>&nbsp;</TD></TR></TBODY></TABLE> 



hvordan gør jeg så man skrive hvor mange indlæg der har været fx i OFF-Topic eller babes
Avatar billede styless Nybegynder
27. marts 2004 - 16:43 #20
<%
SQL = "select count(id) as antal where forumid = 1"
set rs = conn.execute(SQL)
response.write rs("antal)
%>

Hvis vi siger babes har id 1 i forum-tabellen så tæller den op "count" og returnerer det som et nyt felt nemlig antal.
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