webForumDet fria alternativet

if then else

9 svar · 234 visningar · startad av nedde

neddeMedlem sedan nov. 2003187 inlägg
#1

Vill att den ska hämta siffran från databasen och sen beroende på det ska den sista columnen ändra bakgrundfärg men jag
får inte till det. Den visar bara den första fägen på alla. Vad är det jag har missat? Någon som kan hjälpa mig..

Det är if satsen på color jag dolar med.

<%
Set conn = Server.CreateObject("ADODB.Connection")
set rs = Server.CreateObject("ADODB.recordset")
sql="SELECT * FROM users ORDER BY AfUsername"
conn.open dsn
rs.Open sql, conn
do until rs.EOF

if activiation = 0 then
color = "#ffcc00"
elseif activation = 1 then
color = "#ffffff"
else
color = "33cc00"
end if
%>
<tr>
<td><div align="left"><a href="<%=rs("AfUsername")%>"> </a><a href="<%=rs("AfUsername")%>" target="_blank"><%=rs("AfUsername")%></a></div></td>
<td align=center><div align="left"><%=rs("state")%></div></td>
<td align=center><div align="left"></div> <div align="left"><%=rs("date")%></div></td>
<td bgcolor="<%=color%>"><div align="left"><%=rs("activation")%></div></td>
</tr>
<% rs.MoveNext
loop
rs.close
conn.close
%>

PalleMedlem sedan apr. 20003 174 inlägg
#2

if activiation = 0 then

Du har ju ingen variabel som heter activiation så det där kan omöjligt fungera. ;)
Skapa variabler av ditt recordset och använd sedan dessa i din if-sats.

neddeMedlem sedan nov. 2003187 inlägg
#3

activation hämtar den ur databsen och den består av antingen datan 0, 1 och 2 och det jag vill är att beroende på vilken siffra den får så ska den visa. den visar färgen fast på alla istället för
varje enskild i tabellen..

PalleMedlem sedan apr. 20003 174 inlägg
#4

nedde skrev:

activation hämtar den ur databsen

Nope, det gör den inte alls - nu. ;)
DU måste hämta den ur databasen först, därför blir färgerna helt fel.

PalleMedlem sedan apr. 20003 174 inlägg
#5

En möjlig lösning...

[red]<%

Set conn = Server.CreateObject("ADODB.Connection")
	conn.open dsn
		Set rs = conn.Execute("SELECT * FROM users ORDER BY AfUsername")

			If NOT rs.EOF Then
				Do until rs.EOF
	
					strAfUsername = rs("AfUsername")
					strState = rs("state")
					strDate = rs("date")
					strActivation = rs("activation")
					
					If strActiviation = 0 Then
						color = "#ffcc00"
					ElseIf strActivation = 1 Then
						color = "#ffffff"
					Else
						color = "#33cc00"
					End If
	
					%>
					<tr>
					<td align="left"><a href="<%= strAfUsername %>" target="_blank"><%= strAfUsername %></a></td>
					<td align="left"><%= strState %></td>
					<td align="left"><%= strDate %></td>
					<td bgcolor="<%= color %>" align="left"><%= strActivation %></td>
					</tr>
					<%
					
				rs.MoveNext
				Loop
	
			End If
			rs.close

		Set rs = Nothing
	conn.close
Set Conn = Nothing

%>[/red]
neddeMedlem sedan nov. 2003187 inlägg
#6

tackar så mycket för att du lägger ner dig..

det lustiga är att jag fick precis samma problem igen. Alla får
samma färg igen.

PalleMedlem sedan apr. 20003 174 inlägg
#7

Hmm.. testa att omvandla till integer. :r

[red]If cInt(strActiviation) = 0 Then
	color = "#ffcc00"
ElseIf cInt(strActivation) = 1 Then
	color = "#ffffff"
Else
	color = "#33cc00"
End If[/red]
neddeMedlem sedan nov. 2003187 inlägg
#8

exakt samma dret. fattar inte varöfr det ska bli så när den ändå
läser koden. nåja.. tack för din hjälp än en gång. får klara mig
utan den häftiga färgen :)

PalleMedlem sedan apr. 20003 174 inlägg
#9

Hur exakt vill du ha det med färgerna, förklara gärna med en bild eller så. :bire

neddeMedlem sedan nov. 2003187 inlägg
#10

fixade det på ett annat vis. istället för färg använder jag mig av
en bild nu istället. men vill du nu se vad det var jag hade
tänkte mig så kan du se resultat här:
http://nedde.com/nedde/users.asp

140 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)