webForumDet fria alternativet
Logga in / Bli medlem

If och Elseif

ASP

10 svar · 328 visningar · startad av jlee

Medlem sedan dec. 2002378 inlägg
Trådstart#1

Bör man kunna skriva såhär? Det är and i första raden jag är tveksam på.
Vill kolla om urlredir är tom så skriv rad 2 annars skriv det som kommer efter elseif.

<% if rs("antal") ="5" and  rs("urlredir") = "" then%>
	<%=rs("ar")%><%=rs("mål")%> 
		<%elseif rs("antal") ="5" then%>
Medlem sedan juli 20003 825 inlägg
#2
<%
IF rs("antal") = 5 AND rs("urlredir") = "" THEN
response.write rs("ar") & " " & rs("mål") 
elseif rs("antal") ="5" then
response.write ..................
END IF
%>

Ja, man kan skriva som du skriver men det är ruggigt grötit!!

Skriv lite tydligare och var inte så slö att du inte orkar skriva "response.write"... Det är ett tips! Du kommer spendera massor av tid att försöka klura ut din grötiga kod! Det är bra för dokumentationen att skriva tydligt!

Dessutom är det aningen snabbare att inte ha så många asp taggar om vart annat... (kan man iofs skita i, håller med... who cares!?!?)

***
if rs("antal") ="5" and

- Nej... "antal" är troligen en "integer" (= tal) och inga dubbelfjumpar då.

(Jag utgår från att du kör någon version av Access...???)

Medlem sedan okt. 2004409 inlägg
#3

jlee skrev:

Bör man kunna skriva såhär? Det är and i första raden jag är tveksam på.
Vill kolla om urlredir är tom så skriv rad 2 annars skriv det som kommer efter elseif.

<% if rs("antal") ="5" and  rs("urlredir") = "" then%>
	<%=rs("ar")%><%=rs("mål")%> 
		<%elseif rs("antal") ="5" then%>
If rs("antal") = "5" And rs("urlredir") = "" Then
      Response.write(rs("ar") & rs("mål")
Elsif rs("antal") = "5" Then
      Blaha
End If

Ja det går fint... men utan alla klammrar! :)

Edit: Där han du lite föra ja :bire

Medlem sedan dec. 2002378 inlägg
#4

Tack bägge, men även om ("urlredir") innehåller något så skrivs rad nr 2 ut hela tiden trots att det inte är tomt i posten.
Glömde säga att urlredir är en länk som har lite av varje - siffror, frågetecken och bokstäver

Medlem sedan juni 200032 967 inlägg
#5

Visa hur din kod ser ut nu.

I övrigt: När du arbetar med tal, se då alltid till att du jämför som tal. Då krävs subtypskonvertering på det som kommer ifrån databasen.

If cint(rs("antal")) = 5 then

Är heltalen större än 32k, använd clng() istället.

Medlem sedan dec. 2002378 inlägg
#6

Det ger:
Körningsfel i Microsoft VBScript error '800a000d'
Inkompatibla typer: 'cint'
Samma med cing

Medlem sedan juni 200032 967 inlägg
#7

Vad innehåller fältet då?
Dessutom står det clng(), inte cing().

Medlem sedan dec. 2002378 inlägg
#8

En http://www. adress som dessutom innehåller siffror och ?id=60 på slutet

Medlem sedan juni 200032 967 inlägg
#9

Innehåller fältet antal det? Då borde du byta namn på det fältet.... :o

Medlem sedan dec. 2002378 inlägg
#10

nej fältet urlredir innehåller adressen

Medlem sedan dec. 2002378 inlägg
#11

Detta sätt gav fler svårigheter när ett problem var löst så fixade det direkt i sql frågan istället...borde gjort det direkt!
Tack för hjälpen ialla fall

265 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)