Du måste lägga in färgningskoden i din loop, annars får aldrig variabeln color något nytt värde.
mvh,
13 svar · 423 visningar · startad av Gimbo
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> | <%=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"
Du måste lägga in färgningskoden i din loop, annars får aldrig variabeln color något nytt värde.
mvh,
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"
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> | <%=rs("datum")%></td>
</tr>
<p>
</td>
</tr>
<%
rs.MoveNext
Loop
%>
------------------
essentitia preter non sans multiplicandum
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"
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"
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> | <%=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"
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,
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> | <%=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"
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> | <%=rs("datum")%></td>
</tr>
<p>
</td>
<%
rs.MoveNext
Loop
%>
</table>
------------------
essentitia preter non sans multiplicandum
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"
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> | <%=rs("datum")%></td>
</tr>
[b]<p>
</td>[/b]
<%
rs.MoveNext
Loop
%>
</table>
------------------
Motto: Flest If-taggar vinner!
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> | <%=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]