Avatar billede godske Nybegynder
05. maj 2004 - 15:15 Der er 5 kommentarer og
1 løsning

Farveskift på hver anden linie.

Hvordan laver jeg farveskift på hver anden linie?

Har kigget på nogle gamle spørgsmål uden at få meget ud af det, udover jeg kan se folk bruger noget : $i++, hvad det så end er?

Nogen der kan give mig lidt hjælp, eller bare et hint om hvilken vej jeg skal gå?

-mvh Godske




opentable();
$resultwars = sql_query("SELECT warsid, modstander, resultatos, resultatdem, dato, type, maps
                FROM ".$prefix."_clan_wars", $dbi);
for ($m=0; $m < sql_num_rows($resultwars, $dbi); $m++) {
list($warsid, $modstander, $resultatos, $resultatdem, $dato, $type, $maps) = sql_fetch_row($resultwars, $dbi);


$color[1] = 'background=images/clanwars/cw_bg_rod.gif';          // rød bg til tabt kamp
$color[2] = 'background=images/clanwars/cw_bg_gron.gif';        // grøn bg til vundet kamp
$color[3] = 'background=images/clanwars/cw_bg_gul.gif';        // gul bg til uafgjort
$color[4] = 'background=images/clanwars/cw_bg.gif';        // grå bg til modstander resultat #1
$color[5] = 'background=images/clanwars/cw_bg2.gif';        // grå bg til modstander resultat #2




if ($resultatos > 24) {
$color[1] = 'background=images/clanwars/cw_bg_gron.gif';
} elseif ($resultatos ==24)  {
$color[1] = 'background=images/clanwars/cw_bg_gul.gif';
} else {
$color[1] = 'background=images/clanwars/cw_bg_rod.gif';
}




                     
                       

   
        echo "<body bgcolor="#ffffff">"
            ."<div align=center>"
            ."<table border=0 cellpadding=0 cellspacing=0>"
              ."<tr height=18>"
                ."<td width=1 height=18></td>"
                ."<td width=190 height=18 $color[4]><div align=center><font face=Verdana size=1><b>Jyder med Attityder</b></font></div></td>"
                ."<td width=1 height=18 bgcolor=#a4b0b9 $color[1]></td>"
                ."<td width=50 bgcolor=#bb0000 $color[1]><div align=center><font face=Verdana size=1><b>[</b></font><font face=Verdana size=1 color=white><b>$resultatos</b></font><font face=Verdana size=1><b>]</b></font></div></td>"
                ."<td width=20 bgcolor=#bb0000 $color[1]><div align=center><font face=Verdana size=1 color=white><b>vs</b></font></div></td>"
                ."<td width=50 bgcolor=#bb0000 $color[1]><div align=center><font face=Verdana size=1><b>[</b></font><font face=Verdana size=1 color=white><b>$resultatdem</b></font><font face=Verdana size=1><b>] </b></font></div></td>"
                ."<td width=1 height=18 bgcolor=#a4b0b9 $color[1]></td>"
                ."<td width=190 height=18 $color[4]><div align=center><font face=Verdana size=1><b>$modstander</b></font></div></td>"
                ."<td width=1 height=18 bgcolor=#a4b0b9 background=images/clanwars/cw_bg2.gif></td>"
              ."</tr>"
            ."</table>"
            ."</div>"
    ."</body>";
    }       
   
   

   
   
closetable();
Avatar billede s_friis Nybegynder
05. maj 2004 - 15:34 #1
$color = $m % 2 ? '#214266' : '#997711"';
Avatar billede godske Nybegynder
05. maj 2004 - 15:55 #2
Nice, det virker som det skal :)
Kan du forklare hvad det er "$m % 2 ?" gør?

Og.. så lige smide et svar for de fortjente point :)
Avatar billede s_friis Nybegynder
05. maj 2004 - 16:25 #3
Jeg er på vej ud af døren.
Skal nok give dig en nærmere forklaring i aften.

Men det er en sammensat if - else konstruktion

hilsen sf
Avatar billede godske Nybegynder
05. maj 2004 - 17:24 #4
tak for hjælpen, kigger forbi i aften så.

Php er stadig et land i rusland for mig, så det er rart lige at vide hvad det egentlig er at jeg laver
Avatar billede s_friis Nybegynder
05. maj 2004 - 21:23 #5
ok - jeg vil forsøge mig med en forklaring.

% er PHP's modulus operator - det der bliver tilbage efter division af en oberand med en anden operand.
$m er din løkke tæller som du tæller op for hvert gennenløb startende med 0 til 1,2,3 osv.
Division af et heltal med 2 vil altid give en rest på enten 0 eller 1.
I PHP er 0 lig med true og 1 lig med false (ligesom i eksempelvis C++) når der skal udtrykkes om noget er sandt eller falsk.
7%2 vil således give 1 (false)
6%2 vil give 0 (sandt)
Dette kan bruges til i en if- else konstruktion
Jeg bruger en noget forkortet konstruktion:
bolean udtryk ? udfør hvis sand : udfør hvis ikke sand
    6%2      ?    lige        : ikke lige
resultat: lige

Løsningen kune ogå have set således mere traditionel ud:
if(($m % 2) == 0){
  $color = '#214266';
}else{
  $color = '#997711';
}

Jeg udnytter bare at 0 = sandt og 1 = falsk og så den alternative if-else syntaks:  udtryk ? sandt : falsk

håber du får noget ud af det
hilsen sf
Avatar billede godske Nybegynder
07. maj 2004 - 20:25 #6
Efter at have læst det at par gange, giver det faktisk mening det hele.
Jeg siger tusind tak for hjælpen.

-Mvh Godske
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