Avatar billede hizmet Nybegynder
12. juni 2001 - 17:52 Der er 11 kommentarer og
1 løsning

Hvad syntes du om artiklen?

Hejsa, 

Jeg skal bruge et script lige som på builder.dk \"Hvad syntes du om artiklen?\" hvor man kan vurder hvor go\' artiklen er. 

Jeg kan lidt asp så hvis nogen gider hjælpe mig med at lave den eller lave den for mig vil være kanon. :) 

Evt. et tip hvor jeg kan hente scriptet.
På forhånd mange tak!
Avatar billede jakobandersen Nybegynder
12. juni 2001 - 18:03 #1
Har du dine artikler i en database eller hvad?

Hvis du har laver du en ekstra tabel(tblRating) med følgende info:

ArtikelID, Rating, User

Når der er en der skal \"rate\" en artikel så smider du bare dataene ind i denne tabel f.eks.

hvis brugeren læser artikelnummer 14 så skal din form se sådan her ud:

<form action=\"ratearticle.asp\" method=\"post\">
<input type=\"hidden\" value=\"14\" name=\"ArtikelID\">
Hvor mange stjerner giver du artiklen: <input type=\"text\" size=\"1\" name=\"rating\">
Hvad er dit navn: <input type=\"text\" size=\"30 name=\"user\">
<input type=\"submit\" value=\"Rate\">
</form>

Og på siden ratearticle har du så følgende:

\'Connect til db osv.

objConn.Execute(\"INSERT INTO tblRating(ArtikelID, Rating, User) VALUES(\" & Request.From(\"ArtikelID\") & \", \" & Request.Form(\"Rating\") & \", \'\" & Request.Form(\"User\") & \"\')\")
\' Luk connect m.m.
Avatar billede hizmet Nybegynder
12. juni 2001 - 18:20 #2
ja mine artikler er i db

puhe... >> moonduck

det her er alt for sværet til mig 
mig + asp = 03 

moonduck kunne du evt. bixe det for mig men uden \"Hvad er dit navn: <input type=\"text\" size=\"30 name=\"user\">
mnage tak!
\" 
Avatar billede jakobandersen Nybegynder
12. juni 2001 - 18:31 #3
Har du et ArtikelID i Querystringen på de sider hvor Artiklerne vises?
Avatar billede hizmet Nybegynder
12. juni 2001 - 18:35 #4
ja
Avatar billede hizmet Nybegynder
12. juni 2001 - 18:50 #5
skal du bruge mere info. moonduck
Avatar billede jakobandersen Nybegynder
12. juni 2001 - 19:04 #6
Hvad hedder din Artikelside hvor artiklerne vises og hvad hedder Querystringen hvori du har ArticleID.

VIl du have alle ratings vist nedenunder eller vil du bare have vist et gennemsnit?

--
Jakob Andersen
Avatar billede hizmet Nybegynder
12. juni 2001 - 19:15 #7
Artikelside hedder: default.asp

Querystringen:
Dim artikalID
artikalID = Request.QueryString(\"artikalID\")

Ratings: Lige som den her http://www.builder.dk/artikler/article.asp?AID=22

mnage tak ! :)

Avatar billede hizmet Nybegynder
12. juni 2001 - 20:42 #8
>> moonduck

...laver du det eller ? :)
Avatar billede jakobandersen Nybegynder
12. juni 2001 - 20:50 #9
Rolig nu skulle lige have noget at spise, det er klar om et kvarters tid.. Hvis der ikke lige kommer noget i vejen.

Avatar billede hizmet Nybegynder
12. juni 2001 - 21:38 #10
ok, kanon :)
mange tak, moonduck

har du evt. icq nr. ?
Avatar billede jakobandersen Nybegynder
12. juni 2001 - 23:12 #11
Ok, det blev en længere historie her er funktionerne som jeg vil råde dig til at lægge i en include fil(Bemærk at du lige skal ændre i tre variabler i toppen af filen.):

<%

\'Denne variabel bestemmer hvad artikel idet der kommer i querystringen hedder
Querystringnavn = \"ArticleID\"
\' Bredden på votebaren ialt
Sojlebredde = 300
\'Denne variabel skal du udfylde så dan passer med din connectionstreng
strConn = \"DRIVER={SQL Server}; SERVER=127.0.0.1; DATABASE=Moonduck; UID=xx; PWD=xx\"

Function ShowRating(ArticleID)
Dim objConn
Set objConn = Server.CreateObject(\"ADODB.Connection\")
objConn.ConnectionString = strConn
objConn.Open
Set objRS = objConn.Execute(\"SELECT AVG(Rating) FROM tblRating WHERE ArticleID = \" & ArticleID)

    Response.write \"<table border=\"\"0\"\" width=\"\"\" & sojlebredde & \"\"\">\"
        Response.write \"<tr>\"
            If Round(objRS(0)) = 5 Then
                Response.write \"<td width=\"\"100%\"\" style=\"\"background-color:black;\"\">&nbsp;<td>\"
            Elseif Round(objRS(0)) = 5 Then
                Response.write \"<td width=\"\"100%\"\"><img src=\"\"spacer.gif\"\" width=\"\"1\"\" height=\"\"1\"\">&nbsp;<td>\"
            Else
                Response.Write \"<td width=\"\"\" & Round(objRS(0)) * 20 & \"%\"\" style=\"\"background-color:black;\"\">&nbsp;<td>\"
                Response.Write \"<td width=\"\"\" & (5 - Round(objRS(0))) * 20 & \"%\"\"><img src=\"\"spacer.gif\"\" width=\"\"1\"\" height=\"\"1\"\">&nbsp;<td>\"
            End if
        Response.write \"</tr>\"
    Response.write \"</table>\"

objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
End Function

Function ShowVoteBox(ArticleID)
Response.Write \"<form action=\"\"Default.asp\"\" method=\"\"Get\"\">\"
Response.write \"<input type=\"\"hidden\"\" name=\"\"\" & querystringnavn & \"\"\" value=\"\"\" & ArticleID & \"\"\">\"
Response.Write \"<select name=\"\"VoteBox\"\">\"
    Response.Write \"<option value=\"\"1\"\">1(Dårligst)</option>\"
    Response.Write \"<option value=\"\"2\"\">2</option>\"
    Response.Write \"<option value=\"\"3\"\">3</option>\"
    Response.Write \"<option value=\"\"4\"\">4</option>\"
    Response.Write \"<option value=\"\"5\"\">5(Bedst)</option>\"
Response.Write \"</select>\"
Response.Write \"<input type=\"\"submit\"\" value=\"\"Stem\"\">\"
Response.Write \"</form>\"
End Function

Function ThrowInData(ArticleID, Rating)
Dim objConn
Set objConn = Server.CreateObject(\"ADODB.Connection\")
objConn.ConnectionString = strConn
objConn.Open
\'Stemmen indsættes i databasen
objConn.Execute(\"INSERT INTO tblRating(ArticleID, Rating) VALUES(\" & ArticleID & \", \" & Rating & \")\")
Response.Cookies(\"Vote\")(ArticleID) = True
Response.Cookies(\"Vote\").Expires = Date+100
\' Der går 100 dage før man kan stemme igen

objConn.Close
Set objConn = Nothing
ShowRating(ArticleID)
End Function
%>

Og der hvor du vil have boxen på siden indsætter du:

<%

If Request.Cookies(\"Vote\")(Request.QueryString(Querystringnavn)) = True Then
    ShowRating Request.QueryString(Querystringnavn)
ElseIf Request.Querystring(\"VoteBox\") <> \"\" Then
    ThrowInData Request.QueryString(Querystringnavn),Request.Querystring(\"VoteBox\")
Elseif Request.QueryString(Querystringnavn) > 0 Then
    ShowVoteBox Request.QueryString(Querystringnavn)
Else
    Response.Write \"Fejl\"
End if
%>

Håber du kan få det til at virke ellers er mit ICQ nummer 32394805

--
Jakob Andersen
Avatar billede hizmet Nybegynder
13. juni 2001 - 00:56 #12
mange tak for hjælpen, moonduck
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