webForumDet fria alternativet

Olika färger på tabellrader ??

ASP

25 svar · 926 visningar · startad av Ghost

Medlem sedan apr. 200421 inlägg
Frågan#1

Hej alla !!

Är en total noob på detta men gör ett ärligt försök till att lära mej den svåra vägen...*skrattar*

Jag har en liten, liten fråga som någon kanske kan hjälpa mej med....

Om jag tar ut en massa olika poster ur en databas och vill att raderna postraderna skall ha olika färger...
( Vit, blå, vit, blå, vit, blå) och så vidare...

Hur gör jag ?

Har koden så här i dagsläget, den funkar men jag vill att listan som presenteras på ASP-sidan skall bli lite mer lättöverskådlig.

____________________________________________________

rs.Open "Select * From Kalender Where Datum Between '" & Date() & "' And '" & DateAdd("d", 150, Date()) & "' Order By Datum", conn
If NOT rs.EOF Then
Do Until rs.EOF
M_Datum = M_Datum & "<br>" & left(rs.Fields("Datum"),10) & vbCrLf
M_Tid = M_Tid & "<br>" & rs.Fields("Tid") & vbCrLf
M_Samling = M_Samling & "<br>" & rs.Fields("Samling") & vbCrLf
M_Plats = M_Plats & "<br>" & rs.Fields("Plats") & vbCrLf
M_Motstand = M_Motstand & "<br>" & rs.Fields("Motståndare") & vbCrLf
M_Farger = M_Farger & "<br>" & getPics(rs.Fields("Färger")) & "</a>" & vbCrLf
rs.MoveNext
Loop
End IF

rs.Close

___________________________________________________

Har sedan en tabell liggande som ser ut på följande sätt:

<table width="100%" border="0" cellpadding="0" cellspacing="0" class="picbox-low-full">
<tr bgcolor="752E2E" class="text-white-small">
<td width="2%"> </td>
<td width="15%"> Datum</td>
<td width="12%">Tid</td>
<td width="12%">Samling</td>
<td width="21%">Plats</td>
<td width="20%">Motstånd</td>
<td width="18%"> Färger</td>
<tr valign="top" bgcolor="#9A5150" class="text-white-small">
<td> </td>
<td>  <%=M_Datum%></td>
<td>  <%=M_Tid%></td>
<td>  <%=M_Samling%></td>
<td>  <%=M_Plats%></td>
<td>  <%=M_Motstand%></td>
<td>  <%=M_Farger%></td>
</tr>

__________________________________________________

Fattar ni att jag är lost ?? *asgarv*

tackar på förhand för hjälpen... :P

Medlem sedan jan. 2003146 inlägg
Medlem sedan apr. 200421 inlägg
#3

Aj aj

Har ju all kod liggande i toppen på sidan, all HTML i botten....
Får ett felmeddelande

Microsoft VBScript runtime error '800a01a8'
Object required

/kalender2.asp, line 169

Rad 169 ser ut som följer:
do until not rs.eof%>

Medlem sedan juni 200032 967 inlägg
#4

Mer kod, tack.

mvh

Medlem sedan apr. 200421 inlägg
#5

Hela sidans kod

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="include/db.inc"-->
<%
Dim act(6), admin, M_Datum, M_Tid, M_Samling, M_Plats, M_Motstand, M_Farger, i

edit = Request.QueryString("edit")

set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open "Select * From kalender Where Datum Between '" & Date() & "' And '" & DateAdd("d", 6, Date()) & "' Order By Datum", conn, 3, 3
If Not rs.Eof Then
Do Until rs.Eof
ddiff = DateDiff("d", Date(), rs.Fields("Datum"))
act(ddiff) = act(ddiff) & "<tr>" & vbCrLf
If edit = "1" Then
act(ddiff) = act(ddiff) & "<td bgcolor=""#752E2E""> <img src=""author.gif""></td>" & vbCrLf
End If
act(ddiff) = act(ddiff) & "<td bgcolor=""#752E2E""> " & rs.Fields("Akt_typ") & "</td>" & vbCrLf
act(ddiff) = act(ddiff) & "<td bgcolor=""#752E2E""> " & rs.Fields("Plats") & "</td>" & vbCrLf
act(ddiff) = act(ddiff) & "<td bgcolor=""#752E2E""> " & rs.Fields("Tid") & "</td>" & vbCrLf
act(ddiff) = act(ddiff) & "<td bgcolor=""#752E2E""> " & rs.Fields("Samling") & "</td>" & vbCrLf
'act(ddiff) = act(ddiff) & "<td bgcolor=""#752E2E""> " & rs.Fields("Datum") & "</td>" & vbCrLf
act(ddiff) = act(ddiff) & "<td bgcolor=""#752E2E""> " & rs.Fields("Motståndare") & "</td>" & vbCrLf
act(ddiff) = act(ddiff) & "<td bgcolor=""#752E2E""> " & getPics(rs.Fields("Färger")) & "</td></tr>" & vbCrLf
rs.MoveNext
Loop
End If
rs.Close
rs.Open "Select * From Kalender Where Datum Between '" & Date() & "' And '" & DateAdd("d", 150, Date()) & "' Order By Datum", conn
If NOT rs.EOF Then
Do Until rs.EOF
M_Datum = M_Datum & "<br>" & left(rs.Fields("Datum"),10) & vbCrLf
M_Tid = M_Tid & "<br>" & rs.Fields("Tid") & vbCrLf
M_Samling = M_Samling & "<br>" & rs.Fields("Samling") & vbCrLf
M_Plats = M_Plats & "<br>" & rs.Fields("Plats") & vbCrLf
M_Motstand = M_Motstand & "<br>" & rs.Fields("Motståndare") & vbCrLf
M_Farger = M_Farger & "<br>" & getPics(rs.Fields("Färger")) & "</a>" & vbCrLf
rs.MoveNext
Loop
End IF

rs.Close
Set rs = Nothing
conn.Close
Set conn = nothing

Function PresDate(inVal)
If cStr(inVal) = cStr(Date()) Then
PresDate = WeekDayName(WeekDay(inVal)) & " " & Day(inVal) & " " & MonthName(Month(inVal)) & " - dagens datum"
isCurrDate = True
Else
PresDate = WeekDayName(WeekDay(inVal)) & " " & Day(inVal) & " " & MonthName(Month(inVal))
End If
End Function

Function GetPics(inval)
GetPics = " "
If Len(TRIM(inval)) <> 0 Then
picarr = Split(inval, ",")
For x = 0 To UBound(picarr)
GetPics = GetPics & "<img src=""images/spelare/colors/" & Lcase(Trim(picarr(x))) & ".gif""> "
Next
End If
End Function

For i = 0 To 6
If act(i) = "" Then
act(i) = "<td bgcolor=""#752E2E"" colspan=""10""><font face=""Verdana"">Inga händelser på " & WeekDayName(WeekDay(DateAdd("d", i, Date()))) & "!</font></td>"
End If
Next
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
<style type="text/css">
<!--
body {
background-color: #752E2E;
margin-left: 0px;
margin-top: 0px;
}
-->
</style>
<link href="/styles/eik.css" rel="stylesheet" type="text/css">
</head>

<body>
<!--
<table width="600" border="0" cellspacing="0" cellpadding="0">
-->
<table width="850" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="762" valign="top" background="/images/bakgrunder/mitt.gif"><table width="700" border="0" cellspacing="0" cellpadding="0">
<tr>
<td> </td>
<td><img src="/images/pageheaders/kalender.gif" width="229" height="24" class="picbox"></td>
</tr>
<tr>
<td width="110"> </td>
<td width="590"><table width="600" border="1" cellpadding="2" cellspacing="0" bordercolor="#ffffff" class="text-white-small" style="border-collapse: collapse">
<tr class="picbox">
<%If edit = "1" Then%>
<td bgcolor="752E2E" class="text-white-small-header"> Edit</td>
<%End If%>
<td bgcolor="752E2E" class="text-white-small-header"> Aktivitet</td>
<td bgcolor="752E2E" class="text-white-small-header"> Plats</td>
<td bgcolor="752E2E" class="text-white-small-header"> Tid</td>
<td bgcolor="752E2E" class="text-white-small-header"> Samling</td>
<!--
<td bgcolor="752E2E"> Datum</td>
-->
<td bgcolor="752E2E" class="text-white-small-header"> Motståndare</td>
<td bgcolor="752E2E" class="text-white-small-header"> Färger</td>
</tr>
<tr>
<td colspan="10" bgcolor="9A5150"> <span class="text-white-small-header"><%=PresDate(Date())%></span></td>
</tr>
<%=act(0)%>
<tr class="text-white-small-header">
<td colspan="10" bgcolor="9A5150"> <%=PresDate(DateAdd("d", 1, Date()))%></td>
</tr>
<%=act(1)%>
<tr class="text-white-small-header">
<td colspan="10" bgcolor="9A5150"> <%=PresDate(DateAdd("d", 2, Date()))%></td>
</tr>
<%=act(2)%>
<tr class="text-white-small-header">
<td colspan="10" bgcolor="9A5150"> <%=PresDate(DateAdd("d", 3, Date()))%></td>
</tr>
<%=act(3)%>
<tr class="text-white-small-header">
<td colspan="10" bgcolor="9A5150"> <%=PresDate(DateAdd("d", 4, Date()))%></td>
</tr>
<%=act(4)%>
<tr class="text-white-small-header">
<td colspan="10" bgcolor="9A5150"> <%=PresDate(DateAdd("d", 5, Date()))%></td>
</tr>
<%=act(5)%>
<tr class="text-white-small-header">
<td colspan="10" bgcolor="9A5150"> <%=PresDate(DateAdd("d", 6, Date()))%></td>
</tr>
<%=act(6)%>
</table></td>
</tr>
<tr>
<td> </td>
<td><br>
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="picbox-low-full">
<tr bgcolor="752e2e" class="text-white-small">
<td width="2%"> </td>
<td width="15%"> Datum</td>
<td width="12%">Tid</td>
<td width="12%">Samling</td>
<td width="21%">Plats</td>
<td width="20%">Motstånd</td>
<td width="18%"> Färger</td>
<tr valign="top" bgcolor="#9A5150" class="text-white-small">
<td> </td>
<td>  <%=M_Datum%></td>
<td>  <%=M_Tid%></td>
<td>  <%=M_Samling%></td>
<td>  <%=M_Plats%></td>
<td>  <%=M_Motstand%></td>
<td>  <%=M_Farger%></td>
</tr>
<tr valign="top" bgcolor="#9A5150" class="text-white-small">
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table></td>
</tr>
</table>
<br>
</td>
</tr>
</table>
<br>
<p> </p>
<p>  </p>
</body>
</html>

Medlem sedan juni 200032 967 inlägg
#6

Och vilken av alla de där raderna pekar felmeddelandet på?

(Använd gärna [kod]-taggar när du postar kod, så blir det lättare att läsa).

Medlem sedan apr. 200421 inlägg
#7

Koden ovan är den kod som funkar....
Frågan är vart jag skall peta in koden...

Medlem sedan juni 200032 967 inlägg
#8

Något sånt här kanske kan fungera?

If Not rs.Eof Then
strBgColor = "#FFFFFF"
Do Until rs.Eof
if strBgColor = "#FFFFFF" then strBgColor = "#752E2E" else strBgColor = "#FFFFFF"
ddiff = DateDiff("d", Date(), rs.Fields("Datum"))
act(ddiff) = act(ddiff) & "<tr bgcolor=""" & strBgColor & """>" & vbCrLf
If edit = "1" Then
act(ddiff) = act(ddiff) & "<td> <img src=""author.gif""></td>" & vbCrLf
End If
act(ddiff) = act(ddiff) & "<td> " & rs.Fields("Akt_typ") & "</td>" & vbCrLf
act(ddiff) = act(ddiff) & "<td> " & rs.Fields("Plats") & "</td>" & vbCrLf
act(ddiff) = act(ddiff) & "<td> " & rs.Fields("Tid") & "</td>" & vbCrLf
act(ddiff) = act(ddiff) & "<td> " & rs.Fields("Samling") & "</td>" & vbCrLf
'act(ddiff) = act(ddiff) & "<td> " & rs.Fields("Datum") & "</td>" & vbCrLf
act(ddiff) = act(ddiff) & "<td> " & rs.Fields("Motståndare") & "</td>" & vbCrLf
act(ddiff) = act(ddiff) & "<td> " & getPics(rs.Fields("Färger")) & "</td></tr>" & vbCrLf
rs.MoveNext
Loop
End If

Mvh

Medlem sedan apr. 200421 inlägg
#9

Den koden ser redan bra ut, den koddelen jag inte får till är:

<table width="100%" border="0" cellpadding="0" cellspacing="0" class="picbox-low-full">
<tr bgcolor="752e2e" class="text-white-small">
<td width="2%"> </td>
<td width="15%"> Datum</td>
<td width="12%">Tid</td>
<td width="12%">Samling</td>
<td width="21%">Plats</td>
<td width="20%">Motstånd</td>
<td width="18%"> Färger</td>
<tr valign="top" bgcolor="#9A5150" class="text-white-small">
<td> </td>
<td>  <%=M_Datum%></td>
<td>  <%=M_Tid%></td>
<td>  <%=M_Samling%></td>
<td>  <%=M_Plats%></td>
<td>  <%=M_Motstand%></td>
<td>  <%=M_Farger%></td>
</tr>
Medlem sedan juni 200032 967 inlägg
#10

Då förstår jag inte hur du vill att det ska se ut.
Alltså: Hur ser det ut nu, och hur vill du att det ska se ut?

Förresten, redigera gärna in lite [kod]-taggar i dina inlägg, så blir det lättare att överblicka koden.

mvh

Medlem sedan apr. 200421 inlägg
#11

Just nu så listar den bara upp massa rader ur DB, alla rader har samma bakgrundsfärg...

Jag vill att rad 1 skall ha färgen #9a5150
Rad 2 skall ha färgen #752e2e
Rad 3 skall ha färgen #9a5150

Och så vidare

Medlem sedan juni 200032 967 inlägg
#12

Jo, det har jag förstått. Men jag förstår inte riktigt hur du presenterar det nu. Men men...

Du kan ju börja med att göra om dina M_ - variabler så de är tabeller med en tabellrader istället för <br>-radbrytningar.

Medlem sedan apr. 200421 inlägg
#13

Så här ??

rs.Open "Select * From Kalender Where Datum Between '" & Date() & "' And '" & DateAdd("d", 150, Date()) & "' Order By Datum", conn
If NOT rs.EOF Then
	Do Until rs.EOF
		M_Datum = M_Datum & "<td>" & left(rs.Fields("Datum"),10)) & "</td>" & vbCrLf
		M_Tid = M_Tid & "<td>" & rs.Fields("Tid")) & "</td>" & vbCrLf
		M_Samling = M_Samling & "<td>" & rs.Fields("Samling")) & "</td>" & vbCrLf
		M_Plats = M_Plats & "<td>" & rs.Fields("Plats")) & "</td>" & vbCrLf
		M_Motstand = M_Motstand & "<td>" & rs.Fields("Motståndare")) & "</td>" & vbCrLf
		M_Farger = M_Farger & "<td>" & getPics(rs.Fields("Färger"))) & "</td>" & "</a>" & vbCrLf
		rs.MoveNext
	Loop
End IF

rs.Close
Medlem sedan juni 200032 967 inlägg
#14

Tja, jag vet inte, eftersom jag inte vet hur datat ser ut, eller hur du vill att det ska bli... Vad är en "rad" för dig i detta fall? Ett datum? En tid? Eller datum+tid+samling+plats+motstand+farger?
Hur ser tabellen ut nu?

Har du en länk till sidan?

Medlem sedan apr. 200421 inlägg
#15

datum+tid+samling+plats+motstand+farger?

Medlem sedan apr. 200421 inlägg
#16

Utan frågetecken.....

Kolla själv, den finns online

https://www.panthers.se/kalender.asp

Medlem sedan juni 200032 967 inlägg
#17

Ok. Då får vi se till att göra en riktig tabell av det hela.

If NOT rs.EOF Then
strBgColor = "#9a5150"
	
	Do Until rs.EOF
		if strBgColor = "#9a5150" then strBgColor = "#752e2e" else strBgColor = "#9a5150"
		strMainTable = "<tr bgcolor=""" & strBgColor & """>" & _
		"<td>" & left(rs.Fields("Datum"),10)) & "</td>" & vbCrLf & _
		"<td>" & rs.Fields("Tid")) & "</td>" & vbCrLf & _
		"<td>" & rs.Fields("Samling")) & "</td>" & vbCrLf & _
		"<td>" & rs.Fields("Plats")) & "</td>" & vbCrLf & _
		"<td>" & rs.Fields("Motståndare")) & "</td>" & vbCrLf & _
		"<td>" & getPics(rs.Fields("Färger"))) & "</td></tr>" & vbCrLf
		rs.MoveNext
	Loop
End IF

Ersätt sedan utskriften av alla M_variabler, dvs detta block:

<tr valign="top" bgcolor="#9A5150" class="text-white-small">
<td> </td>
<td>  <%=M_Datum%></td>
<td>  <%=M_Tid%></td>
<td>  <%=M_Samling%></td>
<td>  <%=M_Plats%></td>
<td>  <%=M_Motstand%></td>
<td>  <%=M_Farger%></td>
</tr>

med följande:

<%=strMainTable%>

, så bör det nog bli som tänkt.

Jag tog förresten bort </a> i din kod, eftersom jag inte alls förstod vad den hade där att göra.

mvh

Medlem sedan apr. 200421 inlägg
#18

Kopierade in din kod....
Fick följande felmeddelande:

Feltyp:
Kompileringsfel i Microsoft VBScript (0x800A0401)
Slut på programsats förväntas.
/Web/EIK_2004/testkalender.asp, line 35, column 36
"<td>" & left(rs.Fields("Datum"),10)) & "</td>" & vbCrLf & _

Medlem sedan juni 200032 967 inlägg
#19

Hmm.

Jag kan inte se att jag gjort något fel. Kopierade du hela koden från mitt inlägg?

Medlem sedan apr. 200421 inlägg
#20

Jepp

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