Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] gdy zmiana przy listowaniu bazy
Forum PHP.pl > Forum > PHP
grzegorz_g
mam dwie tablice:

  1. $tbl_lista_turniej=array(2,2,3,4,7,7)
  2. $tbl_kolory=array('red','blue','yellow');
  3.  
  4.  
  5. foreach ($tbl_lista_turniej as $val) {
  6.  
  7. print "<td style='----i tu własnie kolor---'>$val</td>";
  8.  
  9. }
  10.  


nie wiem czy dobrze się wyrażę. Potrzebuję zmieniać kolor w zależności jak będą inne wartości z tabeli $tbl_lista_turniej
NP. wartości 2,2 mają mieć kolor 'red' następuje zmiana koloru i wartośc 3 ma kolor 'blue', następuje zmiana wartości to znwu zmienia się kolor.

Jak to osiągnąć?



thek
Zrób zmienną pomocniczą sobie i w razie innej wartości... podmieniaj z kolejną wartością w tablicy, a gdy dojdziesz do je końca, podmień na pierwszą. Najlepiej jest użyć tu niejawnych kluczy, ponieważ $tbl_kolory=array('red','blue','yellow'); jest równoważna z
$tbl_kolory=array('0' => 'red', '1' => 'blue', '2' => 'yellow');
Można więc użyć myku, gdy w razie wykrycia nowej wartości inkrementuje się wartość pomocniczą i sprawdza jej modulo z długości tablicy kolorów, co zawsze nam wskaże prawidłowy kolor.
Niktoś
Może coś takiego?
  1. foreach ($tbl_lista_turniej as $val) {
  2. switch ($val) {
  3. case 1:
  4. print "<td style='background-color:".$tbl_kolory['$val']. "'"."</td>";
  5.  
  6. break;
  7. case 2:
  8. print "<td style='background-color:".$tbl_kolory['$val']. "'"."</td>";
  9.  
  10. break;
  11. case 3:
  12. print "<td style='background-color:".$tbl_kolory['$val']. "'"."</td>";
  13.  
  14. break;
  15. }
  16. }
thek
Tu chodzi o płynną zmianę koloru, a nie ich przypisanie do konkretnej wartości numerycznej...
  1. <?php
  2. $current_val = $tbl_lista_turniej[0]; // by wiedział jaka wartość jest startowa i nie szarżował zanadto :)
  3. $current_color = 0;
  4. foreach ($tbl_lista_turniej as $val) {
  5. if($val != $current_val){
  6. $current_val = $val; // zmiana koloru do porównania
  7. $current_color = ($current_color+1)%count($tbl_kolory); //ustawienie właściwego indeksu koloru
  8. }
  9. ?>
  10. <td style="background-color:<?php echo $tbl_kolory[$current_color];?>"><?php echo $val; ?></td>
  11. <?php
  12. }
  13. ?>

Można też się bawić z next i wykrywaniem końca tablicy by przeskoczyć wtedy do początku.
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.