webForumDet fria alternativet

Färg på varannan rad

ASP

13 svar · 423 visningar · startad av Gimbo

Medlem sedan dec. 20001 626 inlägg
Frågan#1

Hejsan,
jag använder följande metod för att få färg på varannat gästboksinlägg men det fungerar inte, jag får samtliga tabeller att vara vita, så här ser det ut:

<%
	Set db = Server.CreateObject("ADODB.Connection")
	db.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("datab.mdb")

	SQL = "SELECT * From gbook ORDER BY Datum DESC"
	Set rs = db.Execute(SQL)
	
	count = count + 1
	If count Mod 2 = 0 then
	color = "#AEAEFF"
	Else 
	color = "#FFFFFF"
	End If 
%>

och html koden plus läsningen från databasen ser ut på följande sätt:

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<%
Do Until rs.EOF
%>
<%
meddelande=Replace(rs("meddelande"),vbCrLf, "<br>")
%>

  <tr>
    <td width="300" bgcolor="<%=color%>">
	<b><%=rs("amne")%></b> <img src="<%=rs("smile")%>.gif"><br>
	<%=meddelande%>
	  <tr>
    <td width="300" bgcolor="<%=color%>" style="border-bottom: 1px solid #000000;"><b><%=rs("namn")%></b> &#0124;  <%=rs("datum")%></td>
  </tr>
<p>
    </td>
  </tr>
      <%
rs.MoveNext
Loop
%>

------------------

"Det starka är inte att aldrig kunna falla, det starta är att kunna resa sig efter ett fall"

Medlem sedan juni 200032 967 inlägg
#2

Du måste lägga in färgningskoden i din loop, annars får aldrig variabeln color något nytt värde.

mvh,

Medlem sedan dec. 20001 626 inlägg
#3

Och hur går man tillväga för att göra det?

------------------

"Det starka är inte att aldrig kunna falla, det starta är att kunna resa sig efter ett fall"

Medlem sedan dec. 200012 464 inlägg
#4
count = 0
Do Until rs.EOF
count = count + 1
If count Mod 2 = 0 then
color = "#AEAEFF"
Else 
color = "#FFFFFF"
End If 
meddelande=Replace(rs("meddelande"),vbCrLf, "<br>")
%>
<tr>
<td width="300" bgcolor="<%=color%>">
<b><%=rs("amne")%></b> <img src="<%=rs("smile")%>.gif"><br>
<%=meddelande%>
<tr>
<td width="300" bgcolor="<%=color%>" style="border-bottom: 1px solid #000000;"><b><%=rs("namn")%></b> &#0124; <%=rs("datum")%></td>
</tr>
<p>
</td>
</tr>
<%
rs.MoveNext
Loop
%>

------------------
essentitia preter non sans multiplicandum

Medlem sedan dec. 20001 626 inlägg
#5

Måste säga att hela sidan knasa sig nu, tabeller går över varandra och allt är knas

------------------

"Det starka är inte att aldrig kunna falla, det starta är att kunna resa sig efter ett fall"

Medlem sedan dec. 200012 464 inlägg
#6

Har du missat något %> eller så?

------------------
essentitia preter non sans multiplicandum

Medlem sedan dec. 20001 626 inlägg
#7

Nope, men jag tror att du glömde i din kod som du visa mig :-) eller det kanske inte ska vara ngn <% i början

------------------

"Det starka är inte att aldrig kunna falla, det starta är att kunna resa sig efter ett fall"

Medlem sedan dec. 20001 626 inlägg
#8

så här ser min kod ut nu:

<%
	Set db = Server.CreateObject("ADODB.Connection")
	db.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("datab.mdb")

	SQL = "SELECT * From gbook ORDER BY Datum DESC"
	Set rs = db.Execute(SQL)
	
	count = 0
        Do Until rs.EOF
	count = count + 1
	If count Mod 2 = 0 then
	color = "#AEAEFF"
	Else 
	color = "#FFFFFF"
	End If 
	meddelande=Replace(rs("meddelande"),vbCrLf, "<br>")
%>

och så här ser det ut längre ner:
[kod]
<table width="100%" border="0" cellspacing="0" cellpadding="0">

  <tr>
    <td width="300" bgcolor="<%=color%>">
	<b><%=rs("amne")%></b> <img src="<%=rs("smile")%>.gif"><br>
	<%=meddelande%>
	  <tr>
    <td width="300" bgcolor="<%=color%>" style="border-bottom: 1px solid #000000;"><b><%=rs("namn")%></b> &#0124;  <%=rs("datum")%></td>
  </tr>
<p>
    </td>
  </tr>
      <%
rs.MoveNext
Loop
%>
</table>

Och nur ser sidan inte alls bra men när jag tar bort Do until i början av koden och lägger in den efter taggen med table så ser sidan bra ut igen men fortfarande inte färg på varannan rad...

------------------

"Det starka är inte att aldrig kunna falla, det starta är att kunna resa sig efter ett fall"

Medlem sedan juni 200032 967 inlägg
#9

Du får nog gå igenom din html-tabell. Du har en <tr>, sedan en <td>, sedan en <tr> igen.

Till att börja med se till att den tabellen är korrekt.

Mvh,

Medlem sedan dec. 20001 626 inlägg
#10

Har fixat html tabellen men det fungerar fortfarande inte med färg på varannan, så här ser html tabellen ut nu:

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<% Do until rs.EOF %>

  <tr>
    <td width="300" bgcolor="<%=color%>">
	<b><%=rs("amne")%></b> <img src="<%=rs("smile")%>.gif"><br>
	<%=meddelande%>
	</tr>
	  <tr>
    <td width="300" bgcolor="<%=color%>" style="border-bottom: 1px solid #000000;"><b><%=rs("namn")%></b> &#0124;  <%=rs("datum")%></td>
  </tr>
<p>
    </td>
  
      <%
rs.MoveNext
Loop
%>
</table>

------------------

"Det starka är inte att aldrig kunna falla, det starta är att kunna resa sig efter ett fall"

Medlem sedan dec. 200012 464 inlägg
#11

Byte av color måste ligga innaför do until

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<% 
count = 0
Do Until rs.EOF
count = count + 1
If count Mod 2 = 0 then
color = "#AEAEFF"
Else 
color = "#FFFFFF"
End If %>
<tr>
<td width="300" bgcolor="<%=color%>">
<b><%=rs("amne")%></b> <img src="<%=rs("smile")%>.gif"><br>
<%=meddelande%>
</tr>
<tr>
<td width="300" bgcolor="<%=color%>" style="border-bottom: 1px solid #000000;"><b><%=rs("namn")%></b> &#0124; <%=rs("datum")%></td>
</tr>
<p>
</td>

<%
rs.MoveNext
Loop
%>
</table>

------------------
essentitia preter non sans multiplicandum

Medlem sedan dec. 20001 626 inlägg
#12

Man tackar LarsG you'r the mään ;-)

------------------

"Det starka är inte att aldrig kunna falla, det starta är att kunna resa sig efter ett fall"

Medlem sedan juni 20003 076 inlägg
#13

Kolla igenom din kod igen(se markeringar)!

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<% 
count = 0
Do Until rs.EOF
count = count + 1
If count Mod 2 = 0 then
color = "#AEAEFF"
Else 
color = "#FFFFFF"
End If %>
<tr>
<td width="300" bgcolor="<%=color%>">
<b><%=rs("amne")%></b> <img src="<%=rs("smile")%>.gif"><br>
<%=meddelande%>[b]</td>[/b]
</tr>
<tr>
<td width="300" bgcolor="<%=color%>" style="border-bottom: 1px solid #000000;"><b><%=rs("namn")%></b> &#0124; <%=rs("datum")%></td>
</tr>
[b]<p>
</td>[/b]
<%
rs.MoveNext
Loop
%>
</table>

------------------
Motto: Flest If-taggar vinner!

Medlem sedan mars 2001243 inlägg
#14

Nja, så här ska nog det se ut, om det ska vara mest felfritt...

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<% 
count = 0
Do Until rs.EOF
count = count + 1
If count Mod 2 = 0 then
color = "#AEAEFF"
Else 
color = "#FFFFFF"
End If %>
<tr>
<td width="300" bgcolor="<%=color%>">
<b><%=rs("amne")%></b> <img src="<%=rs("smile")%>.gif"><br>
<%=meddelande%>[b]</td>[/b]
</tr>
<tr>
<td width="300" bgcolor="<%=color%>" style="border-bottom: 1px solid #000000;"><b><%=rs("namn")%></b> &#0124; <%=rs("datum")%></td>
</tr>
<%
rs.MoveNext
Loop
%>
</table>

Notera att den fetmarkerade td inte alls är felaktigt använd.. Men den fetmarkerade td- och p-taggen i föregående innlägg i slutet av scriptet är borttaget i och med att dessa är felaktigt använda.

------------------
Ar i USA for tillfallet, kan ej anvanda svenska tecken, sorry...

[Redigerat av iceM2 den 11 jan 2002]

261 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)