Avatar billede no_doubt Nybegynder
10. oktober 2007 - 12:39 Der er 11 kommentarer og
3 løsninger

udskriv kun rabat en gang

Hvis man skriver
<% if total >= 500 then%><%rabat = "50"%>Ved køb på 500 dkk. eller derover.<%else%>&nbsp;<% end if %>
OG
<% if total >= 1000 then%><%rabat = "100"%>Ved køb på 1000 dkk. eller derover.<%else%>&nbsp;<% end if %>

Hvis total så er lig eller over 1000 så går man udskrevet både:

Ved køb på 500 dkk. eller derover.
OG
Ved køb på 1000 dkk. eller derover.

Hvordan undgår man begge kommer ud? (en rabat må være nok)
Avatar billede sherlock Nybegynder
10. oktober 2007 - 12:48 #1
<%
  if total >= 500 then
    rabat = "50"
    Response.Write("Ved køb på 500 dkk. eller derover.")
  else
    if total >= 1000 then
        rabat = "100"
        Response.Write("Ved køb på 1000 dkk. eller derover.")
    else
        Response.Write("&nbsp;")
    end if
  end if
%>
Avatar billede nielle Nybegynder
10. oktober 2007 - 12:49 #2
Sådan?


<% if total >= 1000 then %><%rabat = "100"%>Ved køb på 1000 dkk. eller derover.<%else%>&nbsp;
<% else if total >= 500 then %><%rabat = "50"%>Ved køb på 500 dkk. eller derover.<%else%>&nbsp;<% end if %>
Avatar billede pidgeot Nybegynder
10. oktober 2007 - 12:49 #3
Sæt en øvre grænse på: <% if total >= 500 and total < 1000 then%>

Eller skriv dem i omvendt rækkefølge, og brug else til at sikre at den springer resten af if'erne over når den har fundet et match.
Avatar billede nielle Nybegynder
10. oktober 2007 - 12:50 #4
<% if total >= 1000 then %>
<%rabat = "100"%>Ved køb på 1000 dkk. eller derover.
<% else if total >= 500 then %>
<%rabat = "50"%>Ved køb på 500 dkk. eller derover.<%else%>&nbsp;
<% end if %>
Avatar billede w13 Novice
10. oktober 2007 - 12:52 #5
Du retter bare første if til: <%if total>=500 and total<1000 then%> hvis jeg har forstået dig rigtigt. Du behøver dog ikke at lukke asp'en der, når du alligevel åbner den lige bagefter. En if-sætning kan godt have kommandoen i samme linje, hvis der velatmærke kun er én kommando:

<%if total>=500 and total<1000 then rabat=50%>Ved køb på 500 dkk. eller derover.<%else%>&nbsp;<%end if%>
OG
<%if total>=1000 then rabat=100%>Ved køb på 1000 dkk. eller derover.<%else%>&nbsp;<%end if%>
Avatar billede w13 Novice
10. oktober 2007 - 12:52 #6
Ahr, glem min, jeg sidder og sover.
Avatar billede no_doubt Nybegynder
10. oktober 2007 - 12:59 #7
sherlock kan du sætte en mere på...altså både ved 500, 1000 og 2000
Avatar billede nielle Nybegynder
10. oktober 2007 - 13:07 #8
<% if total >= 1500 then %>
<%rabat = "150"%>Ved køb på 1000 dkk. eller derover.
<% else if total >= 1000 then %>
<%rabat = "100"%>Ved køb på 1000 dkk. eller derover.
<% else if total >= 500 then %>
<%rabat = "50"%>Ved køb på 500 dkk. eller derover.<%else%>&nbsp;
<% end if %>
Avatar billede no_doubt Nybegynder
10. oktober 2007 - 13:07 #9
super..svar nielle og sherlock
Avatar billede nielle Nybegynder
10. oktober 2007 - 13:09 #10
Svar :^)
Avatar billede sherlock Nybegynder
10. oktober 2007 - 13:10 #11
Nemt og som nielle lige har vist os, skal der selvf. checkes på det største beløb først!

<%
  if total >= 2000 then
    rabat = "200"
    Response.Write("Ved køb på 2000 dkk. eller derover.")
  else
    if total >= 1000 then
      rabat = "100"
      Response.Write("Ved køb på 1000 dkk. eller derover.")
    else
      if total >= 500 then
          rabat = "50"
          Response.Write("Ved køb på 500 dkk. eller derover.")
      else
          Response.Write("&nbsp;")
      end if
    end if
  end if
%>
Avatar billede sherlock Nybegynder
10. oktober 2007 - 13:11 #12
.
Avatar billede no_doubt Nybegynder
10. oktober 2007 - 14:13 #13
takker begge. Brugte dog den med mindre end max beløb for næste rabat. men overvejer at benytte sherlocks i stedet
Avatar billede w13 Novice
10. oktober 2007 - 14:26 #14
Sidste forslag behøver kun én if-sætning:

<%If total>=2000 Then
rabat=200
Response.Write "Ved køb på 2000 dkk. eller derover."
ElseIf total>=1000 Then
rabat=100
Response.Write "Ved køb på 1000 dkk. eller derover."
ElseIf total>=500 Then
rabat=50
Response.Write "Ved køb på 500 dkk. eller derover."
Else
Response.Write "&nbsp;"
End If%>
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