Avatar billede pokejohn Nybegynder
04. oktober 2005 - 22:59 Der er 4 kommentarer og
1 løsning

Ændring af baggrundsfarve ved "loop"

Hej.

Jeg har et spørgesmål vedrørende nedenstående kode.. Den henter nogle data fra en database og loop'er til der ikke er flere poster at hente - hvilket virker fint. Men som det er nu bliver alle "table rows" lavet med en hvid baggrundsfarve. Hvordan gør man så hver anden bliver lavet med en anden baggrundsfarve f.eks. sort?


KODEN:
<%
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
intPage = 1
End If
         
Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT vnr, mrk, mdl, vinfo, hp FROM t_produkter WHERE hp = true"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("database.mdb")
rs.Open strSQL, strDSN, 1
       
If Not (rs.BOF Or rs.EOF) Then
rs.PageSize = 3
rs.AbsolutePage = intPage
intRecCount = rs.PageSize
intPageCount = rs.PageCount
Do While Not rs.EOF And intRecCount > 0
%>
<tr>
<td BGCOLOR="#FFFFFF"><img src="billeder/<% Response.Write rs("vnr") %>.jpg" width="100" height="100" border="0"></td>
<td BGCOLOR="#FFFFFF"><% response.write (rs("mrk") & "&nbsp;" & rs("mdl") & "&nbsp;(" & rs("vnr") & ")") %></td>
</tr>
<%
If len(rs("vinfo")) > 30 Then
Response.write(left(rs("vinfo"),30) & "...")
Else
Response.Write rs("vinfo")
end if

intRecCount = intRecCount - 1
rs.MoveNext
Loop
End If
         
rs.Close
Set rs = Nothing
%>


Det kommer til at se sådan ud når asp'en har gjort hvad den skal:

<tr>
<td BGCOLOR="#FFFFFF"><img src="billeder/01.jpg" width="100" height="100" border="0"></td>
<td BGCOLOR="#FFFFFF">mrk01 mdl01 01</td>
</tr>
<tr>
<td BGCOLOR="#FFFFFF"><img src="billeder/02.jpg" width="100" height="100" border="0"></td>
<td BGCOLOR="#FFFFFF">mrk02 mdl02 02</td>
</tr>
<tr>
<td BGCOLOR="#FFFFFF"><img src="billeder/02.jpg" width="100" osv...


Men hvordan får man det til at se sådan ud:

<tr>
<td BGCOLOR="#FFFFFF"><img src="billeder/01.jpg" width="100" height="100" border="0"></td>
<td BGCOLOR="#FFFFFF">mrk01 mdl01 01</td>
</tr>
<tr>
<td BGCOLOR="#000000"><img src="billeder/02.jpg" width="100" height="100" border="0"></td>
<td BGCOLOR="#000000">mrk02 mdl02 02</td>
</tr>
<tr>
<td BGCOLOR="#FFFFFF"><img src="billeder/02.jpg" width="100" osv...


Jeg håber at I forstår spørgesmålet.. Det er et stykke tid siden at jeg sidst har rodet med hjemmesider, så jeg må indrømme at nogle ord og udtryk er forsvundet - derfor også den måske ikke så sigende overskrift!

Jeg håber at der trods alt er nogen som forstår :S
På forhånd tak..
Dennis
Avatar billede fennec Nybegynder
05. oktober 2005 - 08:20 #1
Dette er en måde at gøre det på:

Color = "#FFFFFF"
Do While Not rs.EOF And intRecCount > 0
%>
<tr>
<td BGCOLOR="#FFFFFF"><img src="billeder/<% Response.Write rs("vnr") %>.jpg" width="100" height="100" border="0"></td>
<td BGCOLOR="#FFFFFF"><% response.write (rs("mrk") & "&nbsp;" & rs("mdl") & "&nbsp;(" & rs("vnr") & ")") %></td>
</tr>
<%
If len(rs("vinfo")) > 30 Then
Response.write(left(rs("vinfo"),30) & "...")
Else
Response.Write rs("vinfo")
end if

intRecCount = intRecCount - 1
if Color = "#FFFFFF" then color = "F000000" else Color = "#FFFFFF"
rs.MoveNext
Loop
Avatar billede fennec Nybegynder
05. oktober 2005 - 08:21 #2
Skrive fejl :o)
if Color = "#FFFFFF" then color = "#000000" else Color = "#FFFFFF"
Avatar billede pokejohn Nybegynder
05. oktober 2005 - 15:31 #3
Jeg har ikke lige prøvet om det virker, da det nok skal laves på en hel anden måde... Skal ikke laves med access og asp, men med mySQL og php. Det er lang tid siden jeg sidst har rodet med php, så der skal lige læses lidt artikler - det samme med mySQL, da jeg er helt ny der.. Men du får pointene, det er jo ikke din skyld at jeg ikke tænker mig om inden jeg kaster mig ud i noget... ;)
Avatar billede fennec Nybegynder
05. oktober 2005 - 15:42 #4
Løsningen er den samme med PHP (databasen har intet med det at gøre)

$color = "#FFFFFF"
while ($row = mysql_fetch_array(***))
{ ?>
<tr>
  <td BGCOLOR="<? echo $color ?>">sdv</td>
  <td BGCOLOR="<? echo $color ?>">>fgjlbn</td>
</tr>
<?
    if($color=="#FFFFFF"){$color="#000000"}else{$color="#FFFFFF"}
} ?>
Avatar billede pokejohn Nybegynder
05. oktober 2005 - 16:41 #5
Det havde jeg også lidt regnet med, men det skulle jo lige omskrives, og som sagt er det en del tid siden jeg sidst har roddet med php, så der er en del huller i min hukommelse.. Men nu er jeg jo fri for det! Takker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester