Avatar billede knutbl Nybegynder
07. september 2004 - 13:32 Der er 8 kommentarer og
2 løsninger

IF hjelp - utskriv kun hvis det er noe i databasefeltet

Jeg har en nyhetsdatabase, news.mdb. Fra den trekker jeg ut klikkbare overskrifter til siden news.asp, som igjen sender brukerne til newsdetails.asp med mer om akkurat den nyheten brukeren har klikket på. Recordsettet mitt har jeg kalt newsrs.

Alt virker fint. Men, så skal jeg lage en kommentar-mulighet nederst på newsdetails-siden, der brukerne kan kommentere akkurat den nyheten de nettopp har lest. Jeg har lagt til et felt i databasen (access2000) som heter "comments" og et som heter "commentedby". Kommentarene skal vises kun hvis det er noen til akkurat denne nyheten. Hvis det ikke er noen kommentarer, skal det skrives ut en tekst "There are no comments to this article. Do you want to write a comment?"

Hvordan gjør jeg dette? If setningen skal jo kun kontrollere om det er noe i feltet comments og i feltet commentedby. Jeg trenger hjelp til denne, selv om den føles enkel!

KnB
Avatar billede knutbl Nybegynder
07. september 2004 - 13:44 #1
Ehm... jeg ser at jeg tenkte litt kort. Må nok lage en egen tabell for comments i news.mdb som relaterer til tabellen news, men hvordan skriver jeg ut dette???
Avatar billede overchord Nybegynder
07. september 2004 - 14:02 #2
Ja som du selv er inde paa skal du have en comments table med relation til news. Hvis du saa laver en DCount paa din NewID f.eks kan du udskrive din tekst hvis Dcount = 0
Avatar billede bernhof Nybegynder
07. september 2004 - 14:04 #3
<%

Dim commentRS
Set commentRS = Conn.Execute("SELECT Comment, CommentedBy FROM comments WHERE CommentNewsID = " & NewsID)

If RS.EOF Then
    Response.write "There are no comments ..."
Else
    Do Until Rs.EOF
        'udskriv kommentarer
        RS.MoveNext
    Loop
End If

%>

<form name="frmComment"> --- osv.
Avatar billede bernhof Nybegynder
07. september 2004 - 14:04 #4
Sorry - i ovenstående skal RS selvfølgelig ændres til commentRS
Avatar billede knutbl Nybegynder
07. september 2004 - 14:08 #5
Takk, mikbj, - det var slik jeg hadde tenkt.
Dumt spørsmål, kanskje, men jeg er ganske ny på dette (dvs, jeg holder ikke på mye med det); Har aldri koblet tabeller før. Hvordan får jeg den riktige kommentaren til å komme på siden med den riktige news-artikkelen?
Avatar billede overchord Nybegynder
07. september 2004 - 14:30 #6
knut - et foreslag til struktur

NewsTabel:
ID, Text - bare som Eksempel

Comments:
ID, NewsID, Text

Dvs at i tabellen Comments er NewsID tilsvarene ID i Newstabellen.
Avatar billede knutbl Nybegynder
07. september 2004 - 15:00 #7
overchord (og alle andre!):
I min newstabell har jeg følgende struktur i dag:
id - autonumber
newsdate - date/time
heading - text
ingress - text
story - memo
writtenby - text
images - text

Min comment-tabell har i dag følgende felter:
id (autonumber)
comment (memo)
commentedby (text/100)
commentdate (date/time/ now())

Når jeg kjører autonumber i ID i newstabellen, hvordan får jeg da en eventuell newsId i commentstabellen til å tilsvare ID i newstabellen?
Jeg beklager hvis jeg spør dumt, men dette har jeg aldri gjort før og jeg har egentlig kun jobbet svært enkelt med asp og databaser.
Avatar billede overchord Nybegynder
07. september 2004 - 15:17 #8
ok jeg er ikke selv den helt store haj til asp-siden af tingene, men Du mangler pt et felt der kan binde kommentarer til den specifikke nyhed. Hvis du nu opretter et NewsID felt i comment-tabellen vil du kunne tilfoeje kommentarer til en bestemt nyehd vha en SQL saetning noget i retning af:

INSERT INTO Comments(NewsID, Comment, Commentedby,commendate) VALUES (......) hvor du henter dine values fra den form hvor brugeren indtaster sine kommentarer (paa naer NewsID som bares med over fra siden hvor man laeste nyheden man vil kommentere).
Avatar billede knutbl Nybegynder
07. september 2004 - 15:26 #9
Ok, med denne hjelpen skal jeg nok klare å få dette til. Jeg velger å dele poengene mellom Overchord og mikbj, men trenger et svar fra overchord.
Takk for stor hjelp!

KnB
Avatar billede overchord Nybegynder
07. september 2004 - 17:48 #10
ok det var saa lidt da :-)
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