Avatar billede plato Juniormester
27. november 2002 - 17:03 Der er 16 kommentarer og
1 løsning

Afstemning ASP

Jeg mangler en venlig sjæl der er god til ASP.

Nedenfor poster jeg to stykker asp script. Det første er mit nuværende afstemningsscript. ( se. evt: http://www.trailersiden.dk/default.asp?page=taltilhende )

Men nu er jeg ved at lave en database til alle mine film. Hvilke kolonner der er i det nye, kan ses i den sidste kode. Det nuværende afstemningsscript dur ikke sammen med den nye database og ASP script. Problemet er at der kommer mere end 360 ID'er i den nye database, og det skifter hele tiden afhængigt af hvilket id der bliver kaldt. Der er jo kun én asp side med fast struktur til den nye database. (Lige nu bruger jeg alm. html sider hvor de nuværende afstemningsscript er inkluderet).

Her kommer mit nuværende afstemningsscript som er i samtlige 360 html dokumenter.Med egen database.

<table border="0" cellspacing="0" cellpadding="0" width="70%">
    <tr>
        <td width="80%" valign="top">
<%
Set Conn = Server.CreateObject("ADODB.Connection")
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("db1.mdb")
Conn.Open ConnStr
Set rs = Server.CreateObject("ADODB.RecordSet")



if Request.ServerVariables("REQUEST_METHOD") = "POST" then
  stempaa = Request.Form("stempaa")
  karakter = Request.Form("karakter")
  strSQL = "UPDATE stemmeTbl SET stemmer = stemmer + 1, totalStjerner = totalStjerner + " & karakter & " WHERE ID = " & stempaa
  Conn.Execute (strSQL) 
end if
%>

<%
'Her skriver du i SQL ID=xx på det nummer som du vil havde vist + stemme på
strSQL = "SELECT stemmer, totalStjerner FROM stemmeTbl WHERE ID = 246"
set rs = conn.Execute (strSQL)
if rs.EOF then
  billede = "s0"
else
  stemmer = 1*rs("stemmer")
  totalStjerner = 1*rs("totalStjerner")
  if stemmer = 0 then
    billede = "s0"
  else
    snit = Round(totalStjerner / stemmer,3) * 2
    snit = round(snit) / 2
    snit = replace(snit, ".", "k")
    snit = replace(snit, ",", "k")
    billede = "s" & snit
  end if
end if

Response.Write "<img src=""" & billede & ".gif"">"
%>
<form action="abeautifulmind.asp" method="post">
<input type="hidden" name="stempaa" value="246">
<input type="radio" name="karakter" value="1">1
<input type="radio" name="karakter" value="2">2
<input type="radio" name="karakter" value="3">3
<input type="radio" name="karakter" value="4">4
<input type="radio" name="karakter" value="5">5
<input type="submit" name="Stem" value="Stem">
</form>
<%
Conn.Close
%>
       
                            <a href="trailersa.html"><b>Tilbage</b></a></td>
    </tr>
</table>





Her kommer den nye asp struktur med tilhørende database:

<%

strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.Mappath("trailer.mdb")
Set objConn = Server.CreateObject ("ADODB.Connection")
objConn.Open strConnect   

strSQL = "SELECT * FROM sider WHERE id LIKE '"  & Request.QueryString("id") & "'"
Set rs = objConn.Execute(strSQL)

If Not rs.EOF Then
    titel = rs("titel")
    pic = rs("pic")
    tlink = rs("tlink")
    omtale = rs("omtale")
    premiere = rs("premiere")
    skuespil = rs("skuespil")
    instruk = rs("instruk")
    studio = rs("studio")
    genre = rs("genre")
    tid = rs("tid")
    tilbage = rs("tilbage")
    tilbaget = rs("tilbaget")
    hplink = rs("hplink")
    hptekst = rs("hptekst")
   
Else
    Response.Write "<b>Der er noget galt med id'et</b><br /><br />"
End If

%>


<html>
<head>
<title><%=titel%></title>
<link rel="stylesheet" type="text/css" href="../style.css">


</head>
<body bgcolor="#efefef" text="#000000" leftmargin="5" topmargin="0" bottommargin="0" marginwidth="0" marginheight="0" style="overflow:auto">
<span id="font">Trailers » Sektion A » <%=titel%></span>
<br>  <br>    

<center>
<table border="0" cellspacing="0" cellpadding="0" width="70%">
    <tr>
        <td width="80%" valign="top">
       
            <Table border="0" cellpadding="0" cellspacing="0">
                <tr>
                    <td class="menuc" width="140"><b>Premiere:</b></td>
                    <td class="menuc"><%=premiere%></td>
            </tr>
            </table>
            <br>
            <Table border="0" cellpadding="0" cellspacing="0">
                <tr>
                    <td valign="top" class="menuc" width="140"><b>Skuespillere:</b></td>
                    <td class="menuc"><%=skuespil%></td>
                </tr>
            </table>
            <br>
            <Table border="0" cellpadding="0" cellspacing="0">
                <tr>   
                    <td class="menuc" width="140"><b>Instruktør:</b></td>
                    <td class="menuc"><%=instruk%></td>
                </tr>
            </table>
            <br>
            <Table border="0" cellpadding="0" cellspacing="0">
                <tr>
                    <td class="menuc" width="140"><b>Studio:</b></td>
                    <td class="menuc"><%=studio%></td>
                </tr>
            </table>
            <br>
            <Table border="0" cellpadding="0" cellspacing="0">
                <tr>   
                    <td class="menuc" width="140"><b>Genre:</b></td>
                    <td class="menuc"><%=genre%></td>
                </tr>
            </table>
            <br>
            <Table border="0" cellpadding="0" cellspacing="0">
                <tr>   
                    <td class="menuc" width="140"><b>Spilletid:</b></td>
                    <td class="menuc"><%=tid%></td>
                </tr>
            </table>
            <br>
            <Table border="0" cellpadding="0" cellspacing="0">
                <tr>   
                    <td class="menuc" width="140"><b>Officiel HP:</b></td>
                    <td class="menuc"><a href="<%=hplink%>" target="_new"><%=hptekst%></a></td>
                </tr>
            </table>
            <br>
            <Table border="0" cellpadding="0" cellspacing="0">
                <tr>
                    <td colspan="3"><a href="<%=tlink%>"><b>»</b> <u>Afspil Trailer [Quicktime]</U></a></td>
                </tr>   
            </table>
        </td>
   
        <td align="right"><img src="../pics/<%=pic%>" width="200" height="300" border="0"></a></td>
    </tr>   
    <tr>
        <td  colspan="2"><span id="font2"><br><hr color="#970000" size="2"><%=omtale%>
                           
        </td>
    </tr>
</table>
<br> 

                            <a href="<%=tilbage%>"><b><%=tilbaget%></b></a></td>
   
</body>
</html>
   
Er det til at forstå?
Avatar billede plato Juniormester
27. november 2002 - 17:04 #1
Det jeg så skal bruge er et afstemningssystem der virker med den nye database.
Avatar billede nordclc Nybegynder
27. november 2002 - 21:21 #2
Har du en særskilt tabel i databasen "trailer.mdb" til stemmerne eller skal de ligge i tabellen "sider"?
Avatar billede plato Juniormester
27. november 2002 - 21:33 #3
Jeg har kun tabellen "sider" i trailer.mdb
Avatar billede nordclc Nybegynder
27. november 2002 - 21:42 #4
Hvor vil du have afstemnings data liggende?

1. Du kan udvide tabellen sider med 2 felter: stemmer, totalStjerner
2. Man kan lave en ny tabel i den samme database trailer.mdb som f.eks kunne hedde afstemning og som skal indeholde 3 felter: id, stemmer, totalstjerner

Det er op til dig, men jeg foreslår dig punkt 1, da det så vil være nemmere at lave et evt. udtræk fra databasen, det kunne f.eks. være en top 10 over de højest rated film.

//Claus
Avatar billede plato Juniormester
27. november 2002 - 21:45 #5
Jamen så vil jeg gerne bruge forslag 1 ;o) Jeg er ikke så ferm til det. *S*

Og det med top 10, har jeg slet ikke tænkt på.. Det lyder sgu fedt. :-))
Avatar billede nordclc Nybegynder
27. november 2002 - 22:15 #6
Så skal du tilføje felterne "stemmer" og "totalStjerner" til tabellen "sider". De skal begge være datatype = tal, feltstørrelse = langt heltal og have startværdi = 0.

I mellemtiden tilføjer jeg afstemningen til din nye side.

Hvad hedder siden? Er det default.asp?

//Claus
Avatar billede plato Juniormester
27. november 2002 - 22:42 #7
Siden hedder trailers.asp
Avatar billede nordclc Nybegynder
27. november 2002 - 22:42 #8
Jeg har ikke rigtig mulighed for at teste det, så vi må rette de fejl der evt. måtte være undervejs ;o)

Her er udkast nr. 1:
---------------------
<%

strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.Mappath("trailer.mdb")
Set objConn = Server.CreateObject ("ADODB.Connection")
objConn.Open strConnect

if Request.ServerVariables("REQUEST_METHOD") = "POST" then
  id = request.form("id")
  karakter = Request.Form("karakter")
  strSQL = "UPDATE sider SET stemmer = stemmer + 1, totalStjerner = totalStjerner + " & karakter & " WHERE ID = " & id
  objConn.Execute (strSQL) 
end if

strSQL = "SELECT * FROM sider WHERE id LIKE '"  & Request.QueryString("id") & "'"
Set rs = objConn.Execute(strSQL)

If Not rs.EOF Then
    titel = rs("titel")
    pic = rs("pic")
    tlink = rs("tlink")
    omtale = rs("omtale")
    premiere = rs("premiere")
    skuespil = rs("skuespil")
    instruk = rs("instruk")
    studio = rs("studio")
    genre = rs("genre")
    tid = rs("tid")
    tilbage = rs("tilbage")
    tilbaget = rs("tilbaget")
    hplink = rs("hplink")
    hptekst = rs("hptekst")
    stemmer = rs("stemmer")
    totalstjerner = rs("totalstjerner")
Else
    Response.Write "<b>Der er noget galt med id'et</b><br><br>"
End If

%>


<html>
<head>
<title><%=titel%></title>
<link rel="stylesheet" type="text/css" href="../style.css">


</head>
<body bgcolor="#efefef" text="#000000" leftmargin="5" topmargin="0" bottommargin="0" marginwidth="0" marginheight="0" style="overflow:auto">
<span id="font">Trailers » Sektion A » <%=titel%></span>
<br>  <br>   

<center>
<table border="0" cellspacing="0" cellpadding="0" width="70%">
    <tr>
        <td width="80%" valign="top">
       
            <Table border="0" cellpadding="0" cellspacing="0">
                <tr>
                    <td class="menuc" width="140"><b>Premiere:</b></td>
                    <td class="menuc"><%=premiere%></td>
            </tr>
            </table>
            <br>
            <Table border="0" cellpadding="0" cellspacing="0">
                <tr>
                    <td valign="top" class="menuc" width="140"><b>Skuespillere:</b></td>
                    <td class="menuc"><%=skuespil%></td>
                </tr>
            </table>
            <br>
            <Table border="0" cellpadding="0" cellspacing="0">
                <tr>   
                    <td class="menuc" width="140"><b>Instruktør:</b></td>
                    <td class="menuc"><%=instruk%></td>
                </tr>
            </table>
            <br>
            <Table border="0" cellpadding="0" cellspacing="0">
                <tr>
                    <td class="menuc" width="140"><b>Studio:</b></td>
                    <td class="menuc"><%=studio%></td>
                </tr>
            </table>
            <br>
            <Table border="0" cellpadding="0" cellspacing="0">
                <tr>   
                    <td class="menuc" width="140"><b>Genre:</b></td>
                    <td class="menuc"><%=genre%></td>
                </tr>
            </table>
            <br>
            <Table border="0" cellpadding="0" cellspacing="0">
                <tr>   
                    <td class="menuc" width="140"><b>Spilletid:</b></td>
                    <td class="menuc"><%=tid%></td>
                </tr>
            </table>
            <br>
            <Table border="0" cellpadding="0" cellspacing="0">
                <tr>   
                    <td class="menuc" width="140"><b>Officiel HP:</b></td>
                    <td class="menuc"><a href="<%=hplink%>" target="_new"><%=hptekst%></a></td>
                </tr>
            </table>
            <br>
            <Table border="0" cellpadding="0" cellspacing="0">
                <tr>
                    <td colspan="3"><a href="<%=tlink%>"><b>»</b> <u>Afspil Trailer [Quicktime]</U></a></td>
                </tr>   
            </table>
        </td>
   
        <td align="right"><img src="../pics/<%=pic%>" width="200" height="300" border="0"></td>
    </tr>   
    <tr>
        <td  colspan="2"><span id="font2"><br><hr color="#970000" size="2"><%=omtale%>
                           
        </td>
    </tr>
    <tr>
        <td  colspan="2"><span id="font2"><br><hr color="#970000" size="2">
        <% ' Vis antal stjerner
            if stemmer = 0 then
              billede = "s0"
            else
              snit = Round(totalStjerner / stemmer,3) * 2
              snit = round(snit) / 2
              snit = replace(snit, ".", "k")
              snit = replace(snit, ",", "k")
              billede = "s" & snit
            end if
           
            Response.Write "<img src=""" & billede & ".gif"">"
          %>
          <form action="default.asp" method="post">
            <input type="hidden" name="id" value="<%=Request.QueryString("id")%>">
            <input type="radio" name="karakter" value="1">1
            <input type="radio" name="karakter" value="2">2
            <input type="radio" name="karakter" value="3">3
            <input type="radio" name="karakter" value="4">4
            <input type="radio" name="karakter" value="5">5
            <input type="submit" name="Stem" value="Stem">
          </form>
        </td>
    </tr>
</table>
<br> 
                            <a href="<%=tilbage%>"><b><%=tilbaget%></b></a>
</body>
</html>
<%
Conn.Close
%>
Avatar billede nordclc Nybegynder
27. november 2002 - 22:51 #9
Så skal du lige rette linien:
<form action="default.asp" method="post">
til
<form action="trailers.asp" method="post">
Avatar billede plato Juniormester
27. november 2002 - 23:27 #10
Du skal ikke holde dig vågen. Jeg er nød til at ramme dynerne. Skal op kl. 04. Men jeg skal nok teste det. Skal jeg evt. sende en mail når jeg har postet herinde?

Takker for hjælpen indtil videre ;o)
Avatar billede nordclc Nybegynder
27. november 2002 - 23:31 #11
Sov godt, så hopper jeg s.. også i kanen ;¤) Jeg får jo automatisk mail når du smider en kommentar, men tak for tilbuddet.
Avatar billede plato Juniormester
28. november 2002 - 10:28 #12
Så er det testet. Og det virker ikke. Prøv evt. :
http://www.trailersiden.dk/test/trailers.asp?id=1

Men jeg kunne forstille mig et problem med:
<form action="trailers.asp" method="post">

trailers.asp er jo kun en skabelon, id'erne bliver kaldt fra en anden side, og trailers.asp er skabelonen. Så hvis stemmen klader trailers.asp, har den ingen ID. Den siger forøvrigt også når man stemmer:
Response.Write "<b>Der er noget galt med id'et</b><br><br>"

Men som du skrev. Det er kun første udkast. ;o)

Skal jeg sende databasen?
Avatar billede nordclc Nybegynder
28. november 2002 - 10:32 #13
Du må gerne sende siderne: "anden side", trailers.asp og databasen
Så skal jeg kigge på det.
Email.: nordclc@hotmail.com

//Claus
Avatar billede nordclc Nybegynder
28. november 2002 - 11:22 #14
Hej Rasmus,

jeg har modtaget mailen, og vil kigge på det efter frokost.

//Claus
Avatar billede nordclc Nybegynder
28. november 2002 - 12:18 #15
På alle dine eksisterende records i database, skal du ændre værdien fra null (ingenting) til 0 i i felterne stemmer og totalstjerner. I fremtiden der der bliver oprettet nye records, så burde de automatisk få værdisat de 2 felter med 0 (check lige at det er rigtigt).

Dette burde virke nu:
---------------------

<%

strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.Mappath("trailer.mdb")
Set objConn = Server.CreateObject ("ADODB.Connection")
objConn.Open strConnect

if Request.ServerVariables("REQUEST_METHOD") = "POST" then
  id = request.querystring("id")
  karakter = Request.Form("karakter")
  strSQL = "UPDATE sider SET stemmer = stemmer + 1, totalStjerner = totalStjerner + " & karakter & " WHERE ID = " & id
  objConn.Execute (strSQL) 
end if

strSQL = "SELECT * FROM sider WHERE id LIKE '"  & Request.QueryString("id") & "'"
Set rs = objConn.Execute(strSQL)

If Not rs.EOF Then
    titel = rs("titel")
    pic = rs("pic")
    tlink = rs("tlink")
    omtale = rs("omtale")
    premiere = rs("premiere")
    skuespil = rs("skuespil")
    instruk = rs("instruk")
    studio = rs("studio")
    genre = rs("genre")
    tid = rs("tid")
    tilbage = rs("tilbage")
    tilbaget = rs("tilbaget")
    stemmer = rs("stemmer")
    totalStjerner = rs("totalStjerner")
    hplink = rs("hplink")
    hptekst = rs("hptekst")

Else
    Response.Write "<b>Der er noget galt med id'et</b><br><br>"
End If

%>


<html>
<head>
<title><%=titel%></title>
<link rel="stylesheet" type="text/css" href="../style.css">


</head>
<body bgcolor="#efefef" text="#000000" leftmargin="5" topmargin="0" bottommargin="0" marginwidth="0" marginheight="0" style="overflow:auto">
<span id="font">Trailers » Sektion A » <%=titel%></span>
<br>  <br>   

<center>
<table border="0" cellspacing="0" cellpadding="0" width="70%">
    <tr>
        <td width="80%" valign="top">
       
            <Table border="0" cellpadding="0" cellspacing="0">
                <tr>
                    <td class="menuc" width="140"><b>Premiere:</b></td>
                    <td class="menuc"><%=premiere%></td>
            </tr>
            </table>
            <br>
            <Table border="0" cellpadding="0" cellspacing="0">
                <tr>
                    <td valign="top" class="menuc" width="140"><b>Skuespillere:</b></td>
                    <td class="menuc"><%=skuespil%></td>
                </tr>
            </table>
            <br>
            <Table border="0" cellpadding="0" cellspacing="0">
                <tr>   
                    <td class="menuc" width="140"><b>Instruktør:</b></td>
                    <td class="menuc"><%=instruk%></td>
                </tr>
            </table>
            <br>
            <Table border="0" cellpadding="0" cellspacing="0">
                <tr>
                    <td class="menuc" width="140"><b>Studio:</b></td>
                    <td class="menuc"><%=studio%></td>
                </tr>
            </table>
            <br>
            <Table border="0" cellpadding="0" cellspacing="0">
                <tr>   
                    <td class="menuc" width="140"><b>Genre:</b></td>
                    <td class="menuc"><%=genre%></td>
                </tr>
            </table>
            <br>
            <Table border="0" cellpadding="0" cellspacing="0">
                <tr>   
                    <td class="menuc" width="140"><b>Spilletid:</b></td>
                    <td class="menuc"><%=tid%></td>
                </tr>
            </table>
            <br>
            <Table border="0" cellpadding="0" cellspacing="0">
                <tr>   
                    <td class="menuc" width="140"><b>Officiel HP:</b></td>
                    <td class="menuc"><a href="<%=hplink%>" target="_new"><%=hptekst%></a></td>
                </tr>
            </table>
            <br>
            <Table border="0" cellpadding="0" cellspacing="0">
                <tr>
                    <td colspan="3"><a href="<%=tlink%>"><b>»</b> <u>Afspil Trailer [Quicktime]</U></a></td>
                </tr>   
            </table>
        </td>
   
        <td align="right"><img src="../pics/<%=pic%>" width="200" height="300" border="0"></td>
    </tr>   
    <tr>
        <td  colspan="2"><span id="font2"><br><hr color="#970000" size="2"><%=omtale%>
                           
        </td>
    </tr>
    <tr>
        <td  colspan="2"><span id="font2"><br><hr color="#970000" size="2">
        <% ' Vis antal stjerner
     
            if stemmer = 0 or stemmer = "" then
              billede = "s0"
            else
              snit = Round(totalStjerner / stemmer,3) * 2
              snit = round(snit) / 2
              snit = replace(snit, ".", "k")
              snit = replace(snit, ",", "k")
              billede = "s" & snit
            end if
           
            Response.Write "<img src=""" & billede & ".gif"">"
          %>
          <form action="trailers.asp?id=<%=Request.QueryString("id")%>" method="post">
            <input type="radio" name="karakter" value="1">1
            <input type="radio" name="karakter" value="2">2
            <input type="radio" name="karakter" value="3">3
            <input type="radio" name="karakter" value="4">4
            <input type="radio" name="karakter" value="5">5
            <input type="submit" name="Stem" value="Stem">
          </form>
        </td>
    </tr>
</table>
<br> 
                            <a href="<%=tilbage%>"><b><%=tilbaget%></b></a>
</body>
</html>
<%
objConn.Close
%>
Avatar billede plato Juniormester
28. november 2002 - 12:38 #16
Jeg takker mange gange. ;o) Det virker!
Avatar billede nordclc Nybegynder
28. november 2002 - 12:42 #17
Det var godt, tak for pointne ;o)

//Claus
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