Avatar billede krc_ Nybegynder
16. december 2003 - 09:54 Der er 12 kommentarer og
2 løsninger

Skifte farve for hver record - virker ik!

Jeg prøver at skifte td bgcolor for hver record jeg læser ud...men hvorfor virker det ik ?
Eller hvis I har et bedre forslag vil jeg gerne have det. Det skal dog forklares eller vises udførligt da jeg ikke er en haj..

<% Session.LCID=1030 %>
<html>
<head>
<title>Update Entry Select</title>
<link rel="stylesheet" type="text/css" href="fiskestil.css">
</head>
<body bgcolor="#F9F9F9" text="black">
<div align="center">
  <center>
    <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="530" id="AutoNumber2">
      <tr>
        <td width="100%">
          <p align="center">
            <font face="Verdana" size="2">
              <strong>
                Fangstrapporter</strong></font></p>
        </td>
      </tr>
        <tr>
          <td width="100%">
            <hr width="530px">
          </td>
        </tr>
    </table>
  </center>
</div>
<br>

<%
'Dimension variables
Dim adoCon             'Holds the Database Connection Object
Dim rsGuestbook        'Holds the recordset for the records in the database
Dim strSQL            'Holds the SQL query for the database

'Create an ADO connection odject
Set adoCon = Server.CreateObject("ADODB.Connection")

'Set an active connection to the Connection object using a DSN-less connection
adoCon.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../db/krcDB.mdb")

'Create an ADO recordset object
Set rsGuestbook = Server.CreateObject("ADODB.Recordset")

'Initialise the strSQL variable with an SQL statement to query the database
strSQL = "SELECT testtabel.* FROM testtabel;"

'Open the recordset with the SQL query
rsGuestbook.Open strSQL, adoCon

'Loop through the recordset
Do While not rsGuestbook.EOF

Rad = 1
%>
<div align="center">
<table border="1" cellpadding="0" cellspacing="0" width="530px">
<%
If (Rad mod 2) = 1 Then
    BGFarge = "#ffffff"
  Else
    BGFarge = "#eeeeee"
  End If

  Rad = Rad + 1
%>
    <tr>
        <td width="15%" bgcolor=<%=BGFarge%>>
        <%
              Response.write "<FONT size=1 face=verdana>" & rsguestbook("dato") & "</FONT>"
            %>

        </td>
        <td width="65%" bgcolor=<%=BGFarge%>>   
                                  <%
                Response.Write ("<a href=""update_form.asp?ID=" & rsGuestbook("ID_no") & """>")
                Response.Write (rsGuestbook("fangst"))
                  Response.Write ("</a>")
              %>
</td>
        <td width="20%" bgcolor=<%=BGFarge%>>            <%
              Response.write "<FONT size=1 face=verdana>" & rsguestbook("forfatter") & "</FONT>"
            %>
</td>
    </tr>
</table>

</div>

<%

    'Move to the next record in the recordset
    rsGuestbook.MoveNext

Loop

'Reset server objects
rsGuestbook.Close
Set rsGuestbook = Nothing
Set adoCon = Nothing
%>
</body>
</html>
Avatar billede cdc Novice
16. december 2003 - 09:58 #1
skal den bare skifte mellem to fraver, f.eks første linie = ffffff og anden line = eeeeee og så tredie linie ffffff igen ?
Avatar billede erikjacobsen Ekspert
16. december 2003 - 10:03 #2
Byt om på de to linier:¨

  Do While not rsGuestbook.EOF

  Rad = 1
Avatar billede dna Nybegynder
16. december 2003 - 10:05 #3
farve = "#EEEEEE"
do while ...
  if farve = "#EEEEEE" then
      farve = #FFFFFF"
  else
      farve = "#EEEEEE"
  end if

  Response.write "Her kommer min record med farve: " & farve
.movenext
loop
Avatar billede cdc Novice
16. december 2003 - 10:07 #4
If Rad mod 2 = 0 then
            color = "eeeeee"
          Else
            color = "#ffffff"
Avatar billede krc_ Nybegynder
16. december 2003 - 10:11 #5
Hey...tak for de mange indlæg...men faktisk har erikjacobsen jo ret. Mit eget virker når bare jeg ikke sætter Rad=1 hver gang jeg løber igennem hehe...
Tak Erik :o)
Smid et svar!
Avatar billede erikjacobsen Ekspert
16. december 2003 - 10:19 #6
ok ;)
Avatar billede dna Nybegynder
16. december 2003 - 10:26 #7
Er det ikke nemmere at lave en direkte sammenligning på en string, end at lave en mod-division ?
Avatar billede krc_ Nybegynder
16. december 2003 - 10:28 #8
Jow jow det kan da godt være dna. Jeg er også taknemmelig for dit svar og det kan være jeg prøver det. Men nu er jeg absolut på begynderniveau og når jeg kan slippe med at bytte om på 2 linier, så er det det nemmeste for mig :o)
Avatar billede dna Nybegynder
16. december 2003 - 10:36 #9
oki doki krc!

Bare du har fået det til at virke. Det er jo det vigtigste!

dna
Avatar billede erikjacobsen Ekspert
16. december 2003 - 10:42 #10
mod 2 løsningen generaliserer (lidt) nemmere hvis man vil have 3
eller flere forskellige farver på linierne. Eller hvis man vil slå
farverne op i et array.
Avatar billede krc_ Nybegynder
16. december 2003 - 10:53 #11
dna > Yep...men jeg kan godt se at din løsning ser meget nemmere ud!
erikjacobsen > jeg tror ik helt jeg fatter hvad du skriver, men den er nemmere hvis man vil have flere farver, er det det ? :D
Avatar billede erikjacobsen Ekspert
16. december 2003 - 11:21 #12
Den "nemme" løsning efter min mening er:

dim a(3)
a(0) = "#ffffff"
a(1) = "#fefefe"
a(2) = "#eeffee"

'''så mange du ønsker - du behøver kun ændre farve og antal i selve arrayet

r = 0
while .....
  farve = a(i)
  i = (i+1) mod (ubound(a)+1)

    ... osv

'''utestet ;))
Avatar billede erikjacobsen Ekspert
16. december 2003 - 11:21 #13
ok - det skulle være
  i = 0
og ikke r=0
Avatar billede krc_ Nybegynder
16. december 2003 - 11:36 #14
Okie...det forstår jeg bedre..
Men lige nu holder jeg mig til det andet som virker :o)
Taak! ;o)
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