Avatar billede muffemand Nybegynder
27. juli 2004 - 01:34 Der er 8 kommentarer

At oprette en kommentar til f.eks. en artikel ?

Ja, nu har jeg endelig besluttet mig for at jeg vil finde ud af hvordan man gør.
Nå, men det jeg gerne vil finde ud af er:
Når man f.eks. skriver en eller anden artikel, så gemmes de oplysninger i en database, hvorefter man så kan klikke på linket, og man kommer over på siden og læse hvad der står. Nu er det så at jeg gerne vil have det sådan, at man kan oprette f.eks. en eller flere kommentarer til lige netop den artikel, altså det ID nummer , men hvordan er det lige man gør det ?
Håber i forstår hvad jeg mener, ellers skal jeg nok beskrive det lidt bedre.
Avatar billede carl_erik Nybegynder
27. juli 2004 - 01:45 #1
du lager en ny tabell kalt: T_Kommentar med id(autonummer),Aid(Artikkelid),kommentar(notat),skribent(tekst),dato(dato),tid(tid)

artikkelid-en er den iden som koviser hvilken artikkel kommentaren er beregnet for...hsu å sortere etter dato og tid!
Avatar billede muffemand Nybegynder
27. juli 2004 - 02:11 #2
Hmmm, nu er jeg ikke den store ASP haj, så jeg er ikke helt sikker på hvad det er du mener.
Men dvs. at jeg har min database, som har tabellen: "Artikler" hvori der er ID nummer, artikel, skribent, dato, og hvad jeg nu ellers vil have med.
Samtidig har jeg så en anden tabel som du kalder for: "T_Kommentar", men vi kan vel ligeså godt kalde den for "Kommentar". Den indeholder så de ting som du skriver ovenover.
Så har jeg mit link, hvor der f.eks. står: "Opret kommentar", hvor stien er: opret_kommentar.asp?id=<%= rs("id") %> eller hvad ?
Så har jeg et hidden felt som har <%= rs("id") %> i sig, som den så gemmer ned i Aid sammen med alle de andre ting.
Nu er jeg selvfølgelig ikke sikker på det er det du mener, men det var lige hvad jeg kunne finde på jeg kunne gøre. Men hvad så når jeg skal kalde kommentarene frem ??
Bliver det så: kommentar.asp?id=<%= rs("id")%>&Aid=<%= rs("aid")%> eller noget i den stil ?
Avatar billede carl_erik Nybegynder
27. juli 2004 - 02:39 #3
fra artikkelen har du en link som du skriver
<a href="kommentar.asp?aid=<%=rs("id")">


på kommentar.asp har du en sql

SQL = "SELECT * FROM kommentar WHERE aid = "&request.querystring("aid")&" ORDER BY dato, tid"
og looper...
Avatar billede carl_erik Nybegynder
27. juli 2004 - 02:41 #4
prøv å sette opp din kode...så er det kanskej letter å hjelpe...
Avatar billede muffemand Nybegynder
27. juli 2004 - 03:03 #5
Ok...
Ja, jeg har min side hvor man trykker på et link for at komme over til at skrive kommentaren. Her bruger jeg:
<a class="side" href="links.asp?id=<%= rs("id") %>&mode=opret_kommentar">
Så kommer de over på den side hvor man skriver i felterne, altså skriver en kommentar, og det er jo bare nogle felter (ved ikke om man skal have tilføjet ID nummeret på en eller anden måde der), men der er i hvert fald ingenting udover felterne.
Så skal de gemmes i databasen:
<%
Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * FROM Kommentar"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("Data/links.mdb")
rs.Open strSQL, strDSN, 1, 3


If Request.Form("Navn") = "" or 0 then
    Response.Redirect("fejl.asp?besked=Navn")
else
    strNavn = Request.Form("Navn")
end if

If Request.Form("Email") = "" or 0 then
    Response.Redirect("fejl.asp?besked=Email")
else
    strEmail = Request.Form("Email")
end if

If Request.Form("Kommentar") = "" or 0 then
    Response.Redirect("fejl.asp?besked=Kommentar")
else
    strKommentar = Request.Form("Kommentar")
end if

        rs.AddNew
        rs("Navn") = strNavn
        rs("Email") = strEmail
        rs("Kommentar") = strKommentar
        rs("Dato") = Now()
        rs.Update
       
Response.Redirect ("links.asp")
%>

Tror faktisk det er der den er gal, men er ikke sikker.

Nå, men så kan man så trykke på: "Kommentarer", til hvert af de links (Ja, det er så links jeg prøver at lave det til) der er. Det gøres med dette link:
<a class="side" href="links.asp?aid=<%= rs("id") %>&mode=kommentar">Kommentarer</a>

Og det er sådan set det. Det er sidste side den går galt, og så at den ikke gemmer noget AID i den "Kommentar" tabel. Har ikke helt fattet hvordan det skal gøres :(
Avatar billede netro Nybegynder
27. juli 2004 - 09:39 #6
Du mangler at indsætte artiklens id-nummer sammen med resten af data for pågældende kommentar.

rs("AID") = Request.Querystring("id")
Avatar billede carl_erik Nybegynder
27. juli 2004 - 09:57 #7
siste side....er det links.asp?

da skriver du en sql-setning som ser slik ut :

<%
Set RSKom = connect.execute("SELECT * FROM kommentar WHERE aid = "&Request.Querystring("aid")&" ORDER BY dato")

if RSKom.eof then
Response.Write "Ingen kommentarer er lagt inn"
else
'her looper vi
Do until RSKom.eof

strNavn = rs("Navn")
strEmail = rs("Email")
strKommentar = rs("Kommentar")
%>
<p><a href="mailto:<%=StrEmail%>"><%=StrNavn%></a><br>
<%=StrKommentar%></p>
<%
RSKom.movenext
loop

end if

%>


Vel...noe slik iallefall...du kan se litt på den..og evt gjøre litt endringer...;)
Avatar billede muffemand Nybegynder
10. august 2004 - 17:03 #8
Sorry al ventetiden... Men ferien har altså taget hårdt på mig :)

Men ok, tilbage til tråden.
Det du skriver der, skal det så stå på den side man kommer til når man trykker på linket: <a href="links.asp?aid=<%= rs("id") %>&mode=kommentar">Kommentarer</a>, så det bliver:

            <%
              Set myConn = Server.CreateObject("ADODB.Connection")
              myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("Data/links.mdb")
Set RSKom = connect.execute("SELECT * FROM kommentar WHERE aid = "&Request.Querystring("aid")&" ORDER BY dato")

if RSKom.eof then
Response.Write "Ingen kommentarer er lagt inn"
else
'her looper vi
Do until RSKom.eof

strNavn = rs("Navn")
strEmail = rs("Email")
strKommentar = rs("Kommentar")
%>
<p><a href="mailto:<%=StrEmail%>"><%=StrNavn%></a><br>
<%=StrKommentar%></p>
<%
RSKom.movenext
loop

end if

%>


Eller hvordan og hvorledes ?
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