Avatar billede mydream Nybegynder
25. august 2005 - 12:10 Der er 12 kommentarer og
1 løsning

Rating bjælke

Jeg vil gerne have lavet en grafisk visning af en rating fra 1-5 i decimaler.

Når rating er 5 skal der vises 5 stjerner og når den er 1 skal der vises 1 stjerne. Man skal stadig kunne se de andre stjerner. De skal bare være grå i stedet for gule. Hvis rating er 4,5 skal der vises præcis 4,5 stjerne osv.

Jeg kan sagtens lave det grafiske, men hvordan skal programmeringen se ud?
Avatar billede nielle Nybegynder
25. august 2005 - 12:13 #1
F.eks. sådan:

Rating = 3
Tor PosibleRating=1 To 5
    If Rating <= PosibleRating Then
        Response.Write "<img src='brightStar.gif'>"
    Else
        Response.Write "<img src='dimmedStar.gif'>"
    End If
Next
Avatar billede nielle Nybegynder
25. august 2005 - 12:14 #2
Overså den med 4,5... Skal skalaen springe i trin af 0,5 eller havde du tænkt dig at den skulle være helt flydende?
Avatar billede mydream Nybegynder
25. august 2005 - 12:20 #3
den skal være helt flydende. (Den anden løsning er nemlig den jeg har nu :) )
Avatar billede nielle Nybegynder
25. august 2005 - 12:22 #4
Jeg tror desværre at det vil kræve at du generere grafikken runtime.
Avatar billede nielle Nybegynder
25. august 2005 - 12:26 #5
Du kunne også lave et alternativ, hvor du har en gul stjerne, en grå stjerne, og så et sæt af stjerner som skifter fra gul til grå i f.eks. en skala på 1/10-dele. Så kunne ratingen udskrives som et antal gule stjerner, en af mellem-stjernerne, og så grå stjerner for resten. Godt nok ville dette ikke være helt flydende - men det ville være tæt nok på til at se sådan ud.
Avatar billede mydream Nybegynder
25. august 2005 - 12:29 #6
hvad mener du med at generere grafikken runtime?
Avatar billede jps6kb Novice
25. august 2005 - 12:29 #7
Eller, lade skalaen være, det antal pixel stjernen er.. så kan man jo ikke se forskel alligevel..
Avatar billede nielle Nybegynder
25. august 2005 - 12:31 #8
Med "runtime" mener jeg at du har installeret en grafisk komponent, som tillader dig at lave billeder ved at programmere - i modsætning til blot at linke til allerede eksisterende billeder.
Avatar billede mydream Nybegynder
25. august 2005 - 12:33 #9
ok, det er vist overkill.
Avatar billede nielle Nybegynder
25. august 2005 - 12:35 #10
Enig. Jeg tror mere på den med mellem-stjernerne.
Avatar billede nielle Nybegynder
25. august 2005 - 12:36 #11
I stedet for lige 1/10-dele så burde man dog bruge jps6kb's foreslag. :^)
Avatar billede mydream Nybegynder
25. august 2005 - 12:43 #12
jeg tror faktisk jeg har fundet løsningen.
Jeg laver 2 billeder. Et af alle 5 stjerner i gul og et i gråt. Så starter jeg en tabel i billedets fulde bredde og højde og sætter billedet i gråt ind som baggrund. Derefter lægger jeg en ny tabel indeni den anden og lægger billedet i gul som baggrund. Derefter kan jeg jo bare sætte en funktion til at bestemme bredden af den inderste tabel. Jo mindre bredde jo mere kan man se af det grå og jo mindre af det gule.

Jeg prøver det lige af.
Avatar billede mydream Nybegynder
25. august 2005 - 15:28 #13
OID = "62"

function GetRating(OID)
  sql = "SELECT Avg(Ratings.ARating) AS GennemsnitOfARating FROM Ratings GROUP BY Ratings.OID HAVING (((Ratings.OID)=" & cint(OID) & "));"
  Set RecRating = DB.Execute(sql)
      if not RecRating.eof then
    numberofRatings = round(RecRating("GennemsnitOfARating"))
   
   
      end if
   
end function

GetRating OID
PraecisRating = round(RecRating("GennemsnitOfARating"),"3")
Gange = 40
Pixel = PraecisRating * Gange
%>



<table width="200" height="40" border="0" cellpadding="0" cellspacing="0" id="graa">
  <tr>
    <td nowrap background="stjerneratinggraa.gif">
        <table width="<% =Pixel %>" height="40" border="0" cellpadding="0" cellspacing="0" id="gul">
              <tr>
                <td width="100%" background="stjerneratinggul.gif">&nbsp;</td>
              </tr>
        </table>
    </td>
  </tr>
</table>
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