Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][CSS] kolorowanie wierszy
Forum PHP.pl > Forum > Przedszkole
@rtur
  1. <?php
  2. $wierszy = mysql_num_rows($wynik);
  3.   echo '<table id='terminarz'>
  4. <caption>Terminarz</caption>';
  5.  for ($i=0;$i<$wierszy;$i++) {
  6.    $dane = mysql_fetch_array($wynik);
  7.  echo '<tr>
  8.    <td class='godzina'>'.$godz_od.'</td>
  9.    <td class='godz_do'>'.$godz_do.'</td>
  10.    <td class='opis'>'.$opis.'</td>
  11.    </tr>';}
  12. echo '</table>';}
  13. ?>

mam cos takiego i nie wiem jak dla petli for zrobic kolorowanie wierszy co drugi (zielony,zolty), moge prosic o podpowiedz?

Z gory dziekuje za wszelkie wskazowki.
blooregard
zmienna $i dzielisz modulo przez dwa. Jesli wynik =0, to wstawiasz klase CSS z zoltym kolorem tla, jesli nie, wstawiasz css-a z zielonym

//EDIT sorry za brak polskich znakow - maly problem z przegladarka smile.gif
Lonas
Sciagnij sobie jquery. Tutaj to są 2 linijki kodu.

Tworzysz sobie plik np my_web.js w którym masz coś takiego :

  1. $(document).ready(function()
  2. {
  3. $("table.twoja_tabela tbody tr:odd").addClass("odd");
  4. $("table.twoja_tabela tbody tr:even").addClass("even");
  5. }


Importujesz js:
  1. <script src="biblioteki/javascript/my_web.js" type="text/javascript">
  2. <script src="biblioteki/javascript/jquery.js" type="text/javascript">


W stylach stwórz sobie klasy odd i even.
@rtur
  1. <?php
  2. $wierszy = mysql_num_rows($wynik);
  3. for ($i=0;$i<$wierszy;$i++) {
  4. $dane = mysql_fetch_array($wynik);
  5. $bg = ( $i % 2 )?'yellow':'white';
  6.  echo '<tr style=\"background:$bg\">
  7.   <td class='godzina'>'.$godz.'</td>
  8.   <td class='opis'>'.$opis.'</td>
  9.   </tr>';}
  10. ?>


zrobiłem to tak i nie działa sad.gif gdzie jest babol? Prawdopodobnie tu $bg = ( $i % 2 )?'yellow':'white';, tylko jak powinna wygladac ta linijka zeby dzialalo?

Lonas, a co zrobic jakbym chciał zaczac to kolorowanie na przemian dopiero od 3 wiersza?
Kalinowcyk
  1. <?php
  2. $wierszy = mysql_num_rows($wynik);
  3. for ($i=0;$i<$wierszy;$i++) {
  4. $dane = mysql_fetch_array($wynik);
  5. if ($i>2 && $i % 2)
  6.  $bg = 'white';
  7. elseif ($i > 2 && !($i % 2)
  8.  $bg = 'yellow';
  9. echo '<tr style=\"background:$bg\">
  10.  <td class='godzina'>'.$godz.'</td>
  11.  <td class='opis'>'.$opis.'</td>
  12.  </tr>';}
  13. ?>
trike
zastosuj dwie flagi, jedna ktora policzy od ktorego wiersza chcesz kolorowac a druga bedzie okreslac ktory kolor ma byc w tle
slawny
  1. <?php
  2. $k=1;
  3. while($row = mysql_feach_array($wynik))
  4. {
  5. if(($k%2)==1){$kolor=yellow;}else {$kolor=white;}
  6.  
  7. echo &#092;"tr style='background-color:$kolor'
  8.   &#092;".$godz.\"
  9.   &#092;".$opis.\"
  10.   &#092;";
  11. $k++;
  12.  
  13. }
  14. ?>


nie testowane ale powinno latać

ps.

oczywiscie zamiast $godz i $opis wstawiasz $row[0] i $row[1] zależnie od pozycji w tabeli

@trike, masz racje, rozpędziłem się...teraz powinno być wszystko ok.
trike
slawny chyba zapomniales robic cos z $k, w twoim przypadku zawsze kolor bedzie zolty
piotrooo89
na końcu przed zakończeniem pętli daj jeszcze $k++ aby kolor nie był cały czas żółty.
Lonas
@rtur: wszystko co będzie w <tbody><tr> bedzie kolorowane a w <thead><th> nie
bliitz
  1. <?php
  2. $wierszy = mysql_num_rows($wynik);
  3.   echo '<table id='terminarz'>
  4. <caption>Terminarz</caption>';
  5.  for ($i=0;$i<$wierszy;$i++) {
  6.    $dane = mysql_fetch_array($wynik);
  7.  $i % 2 == 1 ? $style='style="background-color: #FFF;"' : $style='style="background-color: #EFEFEF;"';
  8.  echo '<tr '. $style .'>
  9.    <td class='godzina'>'.$godz_od.'</td>
  10.    <td class='godz_do'>'.$godz_do.'</td>
  11.    <td class='opis'>'.$opis.'</td>
  12.    </tr>';}
  13. echo '</table>';}
  14. ?>

powinno działać
@rtur
bliitz, jak mówisz że powinno działać, to tak jest, dzięki smile.gif

dziękuje również wszystkim za inne zaproponowane rozwiązania smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.