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
  1. tr td { background: yellow; }  
  2. tr.even td { backgroundblue; }  
php
  1. <?php  
  2. // for ciklus  
  3. echo '<table>';  
  4. for ($i = 0; $i < 10; $i++) {  
  5.     echo '<tr', (($i + 1) % 2 ? '' : ' class="even"'), "><td>$i</td></tr>";  
  6. }  
  7. echo '</table>';  
  8.   
  9. // más ciklus - ahol nincs ciklusváltozó  
  10. echo '<table>';  
  11. $i = 0;  
  12. while ($i < 10) {  
  13.     echo '<tr', (($i + 1) % 2 ? '' : ' class="even"'), '><td>'$i++, '</td></tr>';  
  14. }  
  15. echo '</table>';  
  16. ?>  
mindkettő eredménye
  1. <table>  
  2. <tr><td>0</td></tr>  
  3. <tr class="even"><td>1</td></tr>  
  4. <tr><td>2</td></tr>  
  5. <tr class="even"><td>3</td></tr>  
  6. <tr><td>4</td></tr>  
  7. <tr class="even"><td>5</td></tr>  
  8. <tr><td>6</td></tr>  
  9. <tr class="even"><td>7</td></tr>  
  10. <tr><td>8</td></tr>  
  11. <tr class="even"><td>9</td></tr>  
  12. </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:
  1. .paros {background-color#efefef;}  
  2. .paratlan {background-color#ffffff;}  
meg egy php fuggvényt, amivel egy numerikus értéket vizsgálsz, hogy páros-e vagy páratlan:
  1. function is_pareil($x){  
  2.     if(is_int($x/2))  
  3.     {  
  4.         return true;  
  5.     }  
  6.     else  
  7.     {  
  8.         return false;  
  9.     }  
  10. }  
elindítod a ciklust
  1. $szamlalo = 0;  
  2. foreach(...)  
  3. {  
  4.     if(is_pareil($szamlalo))//Ha a számlálód páros akkor a paros stílusosztályt teszed egy változóba  
  5.     {  
  6.         $css_class = "paros";  
  7.     }  
  8.     else//Ha páratlan, akkor a páratlant  
  9.     {  
  10.         $css_class = "paratlan";  
  11.     }  
  12.     //Majd jöhet a sor:  
  13.     print "<tr class="$css_class">...</tr>";  
  14.     //és növeled a számlálót  
  15.     $szamlalo++;  
  16. }  
Én így csináltam, bizonyára van más megoldás is!

s_volenszki
4

modulo

zila · 2008. Feb. 19. (K), 18.58
  1. if ($szamlalo%2) {   
  2.     // páratlan  
  3. else {  
  4.     // páros  
  5. }  
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:
  1. if ($szamlalo&1) {     
  2.   // páratlan    
  3. else {    
  4.   // páros    
  5. }