Avatar billede Slettet bruger
02. januar 2006 - 21:35 Der er 7 kommentarer og
1 løsning

anden fave ved hvad anden linje

Hej.

Hvordan laver jeg så

når jeg fx. har en liste med åbne forum spørgsmål

så ved første linje er bagrunds farven hvid og ved næste er den grå og næste igen er den hvid og grå, hvid, grå osv.

lige som på udvikleren
http://www.udvikleren.dk/forum.php?techid=6&f=6

det er godt nok andre farver med noget i den retning

på forhånd tak
Avatar billede jaw Nybegynder
02. januar 2006 - 21:38 #1
Således f.eks.:

$bgcolor1 = "#FFFFFF";
$bgcolor2 = "#000000";

$i = 1;
while($row = mysql_fetch_assoc($query)) {
  $color = (($i%2) == 0) ? $bgcolor1 : $bgcolor2;
  echo" 
  <tr bgcolor='".$bgcolor."'>
    <td>...</td>
  </tr>
  ";
  $i++;
}
Avatar billede Slettet bruger
03. januar 2006 - 09:13 #2
Jeg ville nok gøre det samme som jaw, men jeg synte at en for-lække ligeså godt kan bruges her:

<?php
$bgcolor1 = "#FFFFFF";
$bgcolor2 = "#000000";

for ($i = 1; $row = mysql_fetch_assoc($query); $i++) {
  $color = (($i%2) == 0) ? $bgcolor1 : $bgcolor2;
  echo"<tr bgcolor='".$color."'>
    <td>...</td>
  </tr>\n";
}
?>

Der er jo ingen grund til at have de ekstra liniers kode, når man nu kan undgå dem :) + at med for-løkken går det en LILLE smule hurtigere ;-)
Avatar billede avminarm Juniormester
03. januar 2006 - 13:22 #3
som jaw men helst uden for meget unødvendigt skrivearbejde + jeg ville nok "farve lægge <td> = cellen
$i = 1;
while($row = mysql_fetch_assoc($query)) {
  $color = ($i%2) ? "#FFFFFF" : "#000000";
  echo" 
  <tr>
    <td bgcolor='".$bgcolor."'>...</td>
  </tr>
  ";
  $i++;
}
Avatar billede Slettet bruger
03. januar 2006 - 14:23 #4
avminarm -> Det lyder ikke som en god idé..
Hvis du hardcoder farverne i:
$color = ($i%2) ? "#FFFFFF" : "#000000";
linien, hvad så når du gerne vil have flere tabeller med samme farver? Det er ikke særlig flexibelt. Sådan nogle ting ligger man altid i variabler på den ene eller anden måde.
Derudover er det nok smartest at gøre som jaw forslår, og sætte baggrundsfarven på tabel-rækken og ikke de enkelte celler. (Det bedste vil nok være at lave det med <tr class="something.."> og CSS.)
Og når du nu endelig er igang med at formindske skrivearbejdet, syntes jeg også du ligeså godt kan benytte dig af for-løkken, som i mit eksempel ;-)
Avatar billede avminarm Juniormester
03. januar 2006 - 15:20 #5
gartzen>> jeg kunne faktisk ikke være mere enig, med hensyn til farve skiftet og flexibilitet - men sådan er det jo altid når man koder, man må vælge, men af samme grund er det rigtigt at css er at foretrække - når jeg vil farvelægge td i stedet for tr er det kun fordi der kun er en celle i dette eksempel - men efter at have kigge på udvikleren.dk kan jeg nu godt se din pointe! ;o)
Avatar billede jaw Nybegynder
04. januar 2006 - 02:00 #6
Men hvad siger kolsbjerg så selv??? :)
Avatar billede Slettet bruger
19. januar 2006 - 12:57 #7
Jaw. lig et svar! : D
Avatar billede jaw Nybegynder
19. januar 2006 - 15:30 #8
Will do :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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