ugrás a tartalomhoz

tálázat sorai más színnel

SzaLacy · 2008. Feb. 19. (K), 17.52
hogyan tudom elérni azt, h mikor php-ban generáltatok táblázatot, akkor minden 2. sor más színű legyen a háttere.. vagyis, 1ik kék, a másik sárga, és megint kék és így tovább??
segítenétek?
köszi
 
1

Változó

janoszen · 2008. Feb. 19. (K), 18.13
Bevezetsz egy változót és azt soronként ide-oda kapcsolgatod, valamint annak függvényében adsz egyik vagy másik CSS classt a tr-nek.
2

szemléltetés

SzaLacy · 2008. Feb. 19. (K), 18.19
erre tudnál mellékelni 1 példát, h pontosítsad, mire is gondolsz?
köszönet
5

erre gondolt

gex · 2008. Feb. 19. (K), 19.14
css

tr td { background: yellow; }
tr.even td { background: blue; }
php

<?php
// for ciklus
echo '<table>';
for ($i = 0; $i < 10; $i++) {
    echo '<tr', (($i + 1) % 2 ? '' : ' class="even"'), "><td>$i</td></tr>";
}
echo '</table>';

// más ciklus - ahol nincs ciklusváltozó
echo '<table>';
$i = 0;
while ($i < 10) {
    echo '<tr', (($i + 1) % 2 ? '' : ' class="even"'), '><td>', $i++, '</td></tr>';
}
echo '</table>';
?>
mindkettő eredménye

<table>
<tr><td>0</td></tr>
<tr class="even"><td>1</td></tr>
<tr><td>2</td></tr>
<tr class="even"><td>3</td></tr>
<tr><td>4</td></tr>
<tr class="even"><td>5</td></tr>
<tr><td>6</td></tr>
<tr class="even"><td>7</td></tr>
<tr><td>8</td></tr>
<tr class="even"><td>9</td></tr>
</table>
(sortörés nélkül természetesen, csak így szemléletesebb)

végszó
a class="odd"-ot is beírhatod a maradékvizsgálat után, azonban így talán felesleges kimenetet termelsz, ezt mindig az adott helyzet (design) dönti el. szvsz az esetek nagy részében elég csak a páros soroknak osztályt megadni, és azért azoknak, mert ha páratlan számú sorod van akkor máris nyertél pár karaktert. :)
3

Például

s_volenszki · 2008. Feb. 19. (K), 18.51
Csinálsz két stílusosztályt:

.paros {background-color: #efefef;}
.paratlan {background-color: #ffffff;}
meg egy php fuggvényt, amivel egy numerikus értéket vizsgálsz, hogy páros-e vagy páratlan:

function is_pareil($x){
    if(is_int($x/2))
    {
        return true;
    }
    else
    {
        return false;
    }
}
elindítod a ciklust

$szamlalo = 0;
foreach(...)
{
    if(is_pareil($szamlalo))//Ha a számlálód páros akkor a paros stílusosztályt teszed egy változóba
    {
        $css_class = "paros";
    }
    else//Ha páratlan, akkor a páratlant
    {
        $css_class = "paratlan";
    }
    //Majd jöhet a sor:
    print "<tr class="$css_class">...</tr>";
    //és növeled a számlálót
    $szamlalo++;
}
Én így csináltam, bizonyára van más megoldás is!

s_volenszki
4

modulo

zila · 2008. Feb. 19. (K), 18.58

if ($szamlalo%2) { 
    // páratlan
} else {
    // páros
}
6

Köszi!

s_volenszki · 2008. Feb. 19. (K), 19.54
Mindíg tanulok valamit!

:)
7

köszönet!!

SzaLacy · 2008. Feb. 19. (K), 20.31
köszönet a segítségért mindenkinek!!
8

bináris &

Poetro · 2008. Feb. 19. (K), 21.12
Ami sokkal gyorsabb:

if ($szamlalo&1) {   
  // páratlan  
} else {  
  // páros  
}