Avatar billede no_doubt Nybegynder
27. marts 2002 - 16:56 Der er 13 kommentarer og
1 løsning

procent udregning

på : http://www.fredericia-bynight.dk/afstemning.asp
regner den procent ud fra :
ItemID    Parent    Item    ItemCount
1    1    Tequila    0
2    1    Vodka    0
3    1    ØL    2
4    1    Andet    2

Hvordan kan jeg på en anden side bare få udskrevet :
Tequila  (0%)
ØL      (50%)
Andet    (50%)
Vodka    (0%)

??
Avatar billede online-help.dk Nybegynder
27. marts 2002 - 17:05 #1
må jeg se din kode?
Avatar billede no_doubt Nybegynder
27. marts 2002 - 17:07 #2
<!--#include virtual ="/include/UserTime.asp"-->
<html>

<head>
<link rel="stylesheet" type="text/css" href="../styles.css">
<title>w w w . F r e d e r i c i a - B y N i g h t . dk</title>
</head>

<body bgcolor="#3288A4">

<div align="center">
  <table border="2" width="525" height="225" bordercolor="#000000" bgcolor="#6C8892">
    <tr>
      <td width="100%" valign="top">
  <center>
                <p align="center"><font face="Arial" size="2"><b><br>
            Afstemningpå www.Fredericia-ByNight.dk</b></font></p>
        </center>
        <div align="center">
          <table border="0" width="90%">
            <tr>
              <td width="100%">
                <p align="center"><font face="Arial" size="2">
                  <%
    Set Conn = CreateObject("ADODB.Connection")
    Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("database.mdb"))

    strPollID = Request("id"): If strPollID = "" Or Not IsNumeric(strPollID) Then strPollID = "" Else strPollID = CInt(strPollID)

    If strPollID > "" Then
        If Not Request.Cookies("Poll")(CStr(strPollID)) = "voted" Then
            strOptionID = Request("item")

            If IsNumeric(strOptionID) Then
                Conn.Execute "UPDATE polldata SET itemcount=itemcount+1 WHERE itemid=" & strOptionID & ";"
                   
                Response.Cookies("Poll")(CStr(strPollID)) = "voted"
                Response.Cookies("Poll").Expires = DateAdd("d", 7, Now) ' // RET HVIS MAN KUN SKAL KUNNE STEMME F.EKS. EN
                                                                        ' // GANG OM UGEN (7 DAGE)
            End If
        End If
       
        strUrl = Request.ServerVariables("HTTP_REFERER")

        If strUrl = "" Then strURL = "afstemning.asp" ' // RET TIL DIN EGEN DEFEAULT URL!!!
       
        Response.Redirect strUrl
    Else
        Set Rs = Conn.Execute("SELECT pollid FROM polls;")
        If Not Rs.BOF Then
            Set Rs = Conn.Execute("SELECT MAX(pollid) FROM polls;"): pollid = CInt(Rs(0))

            OptionID = Not (Request.Cookies("Poll")(CStr(pollid)) = "voted")
            intPlace = 1

            Set Rs = Conn.Execute("SELECT * FROM polls WHERE pollid=" & pollid & ";")
%>
                  <font face="Arial" size=2><b><%=Rs("polldesc")%></b></font>
                  <br>
                  <br>
                  </font>
                <div align="center">
                  <table border=0 width=245 cellspacing=0 cellpadding=0 height="60">
                    <%
            Set Rs = Conn.Execute("SELECT SUM(itemcount) FROM polldata WHERE parent=" & pollid & ";"): Total = Rs(0)
            Set Rs = Conn.Execute("SELECT * FROM polldata WHERE parent=" & pollid & ";")

            Do Until Rs.EOF Or Rs.BOF
                If Total > 0 Then Result = Int((Rs("itemcount") / Total) * 100) Else Result = 0

                Select Case OptionID
                    Case True:  %>
                    <tr>
                      <td width="122">
                        <p><font face="Arial" size=2><a href="afstemning.asp?id=<%=pollid%>&item=<%=Rs("itemid")%>"><b><%=Rs("item")%></b></a></font></p>
                      </td>
                      <td width="123">&nbsp;</td>
                    </tr>
                    <%
                    Case False: %>
                    <tr>
                      <td width="122"><font face="Arial" size=2><b><%=Rs("item")%></b>
                        </font></td>
                      <td width="123">
                        <div align="right"><font face="Arial" size=2>(<%=Result%>%)</font></div>
                      </td>
                    </tr>
                    <%
                End Select

                Rs.MoveNext
                intPlace = intPlace + 1
            Loop

            Response.Write "</table>"
            If Not OptionID Then Response.write "<font face='Verdana' size=2>Antal stemmer: " & Total & "</font>"
        Else
            Response.Write "Der er ingen afsteminger!"
        End If
    End If

    Set Rs = Nothing
    Conn.close: Set Conn = Nothing
%>
                  </table>
                </div>
              </td>
            </tr>
          </table>
        </div>
      </td>
    </tr>
  </table>
</div>

</body>

</html>
Avatar billede online-help.dk Nybegynder
27. marts 2002 - 17:09 #3
jeg har lige testet det og det virker da fint..
Avatar billede no_doubt Nybegynder
27. marts 2002 - 17:10 #4
Jamen procenterne skal udskrives på en anden side.
Avatar billede no_doubt Nybegynder
27. marts 2002 - 17:37 #5
det må være noget med :
<%
            Set Rs = Conn.Execute("SELECT SUM(itemcount) FROM polldata WHERE parent=" & pollid & ";"): Total = Rs(0)
            Set Rs = Conn.Execute("SELECT * FROM polldata WHERE parent=" & pollid & ";")

            Do Until Rs.EOF Or Rs.BOF
                If Total > 0 Then Result = Int((Rs("itemcount") / Total) * 100) Else Result = 0

                Select Case OptionID
                    Case True:  %>
Avatar billede no_doubt Nybegynder
27. marts 2002 - 18:44 #6
Ingen der kan hjælpe
Avatar billede sn0wflake Nybegynder
28. marts 2002 - 05:59 #7
Der er en direkte funktion i ASP til at udregne procenter. F.eks.:

Response.Write FormatPercent(7 / 20, 3)

Det sidste tre-tal angiver hvor mange komma-tal du ønsker at have.
Avatar billede coltau Juniormester
28. marts 2002 - 14:44 #8
Hvis koden virker og du ønsker det udskrevet på en anden side eller som en del af en anden side kan du jo flette koden ind eller lave en iframe på den anden side der kalder ovenstående asp-kode.

Her er den indlagt i en tabel i en anden side.

      <tr>
        <td Valign="top" align="right" width="121">
          <div align="left"><b>AFSTEMNINGSRESULTAT  </b></div>
        </td>
        <td width="511">
        <IFRAME NAME="res" ID="res" WIDTH="300" HEIGHT="100" src="vispct.asp" >
        </IFRAME>
        </td>
      </tr>

Hvis altså ovenstående kode er gemt i en fil der hedder vispct.asp
Avatar billede no_doubt Nybegynder
28. marts 2002 - 18:34 #9
ej nej... sådan leger vi ikke, mit virkede jo ikke, sååå hjælp
Avatar billede coltau Juniormester
28. marts 2002 - 19:41 #10
Jeg synes online-help.dk sagde det virkede fint og du sagde at det skulle puttes ind på en anden side. Ja men så er der ikke andre måder. ?
Avatar billede no_doubt Nybegynder
01. april 2002 - 16:14 #11
hva snakker du om, jeg ville have resultatet ud på en anden siden ikke afstemningen, og vil ikke bruge... IFRAME
Avatar billede coltau Juniormester
01. april 2002 - 16:28 #12
Mig ikke forstå. ?

Jeg troede at du ville vises resultatet af afsteningen på en eller flere sider i en lille firkant. På samme måde som chart og counter gør. ?
Avatar billede no_doubt Nybegynder
13. april 2002 - 23:52 #13
nej nej, bare på en af mine sider, men vil kun se procenterne ved afstemingerne
Avatar billede no_doubt Nybegynder
26. maj 2002 - 01:09 #14
lukker.
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