Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Zmiana koloru wiersza w zależności od wyrażenia
Forum PHP.pl > Forum > Przedszkole
zaworek
Witam,

prosiłbym o wskazówkę jak zmodyfikować poniższy kod aby cały wiersz tabeli zmieniał kolor w zależności od tego czy w kolumnie status wystąpi konkretne słowo. W przypadku słowa sprawny(np.kolor zielony) natomiast przy słowie niesprawny(kolor czerwony).

  1. <table border="1" width="80%" cellspacing="0" cellpadding="0" bordercolorlight="#000000">
  2. <tr>
  3. <td width="40%" colspan="4" bgcolor="#81CF84"><p align="center"><b><font size="3">Lista</font></b></td> <tr>
  4. <td width="10%" align="center" bgcolor="#53C8DF"><font size="3">S/N</font></td>
  5. <td width="10%" align="left" bgcolor="#53C8DF"><font size="3">Data</font></td>
  6. <td width="10%" align="center" bgcolor="#53C8DF"><font size="3">Status</font></td>
  7. <td width="10%" align="center" bgcolor="#53C8DF"><font size="3">Lokalizacja</font></td>
  8.  
  9. <?php
  10. $uchwyt=mysql_connect('host','login','pass') or die('Błąd połączenia');
  11. mysql_select_db('wybór bazy') or die('Nie można wybrać bazy');
  12. mysql_set_charset('utf8'); //ustawiam kodowanie znaków z bazy na UTF-8
  13. $all=mysql_query("SELECT * FROM wybór_tabeli ORDER BY serial");
  14. $razem= mysql_num_rows($all); //zliczam wszystkie rekordy
  15. echo "Ilość znalezionych wpisów to: <b>".$razem."</b><br>"; //wyświetlam zmienną $all
  16. while($wiersz=mysql_fetch_array($all))
  17. {
  18. echo "<tr>
  19. <td align='center'>".$wiersz['serial']."</td>
  20. <td>".$wiersz['data_zmiany']."</td>
  21. <td>".$wiersz['status']."</td>
  22. <td>".$wiersz['place']."</td>
  23. ?>
  24. </tr></table>
Ulysess
  1. <table border="1" width="80%" cellspacing="0" cellpadding="0" bordercolorlight="#000000">
  2. <tr>
  3. <td width="40%" colspan="4" bgcolor="#81CF84"><p align="center"><b><font size="3">Lista</font></b></td> <tr>
  4. <td width="10%" align="center" bgcolor="#53C8DF"><font size="3">S/N</font></td>
  5. <td width="10%" align="left" bgcolor="#53C8DF"><font size="3">Data</font></td>
  6. <td width="10%" align="center" bgcolor="#53C8DF"><font size="3">Status</font></td>
  7. <td width="10%" align="center" bgcolor="#53C8DF"><font size="3">Lokalizacja</font></td>
  8.  
  9. <?php
  10. $uchwyt=mysql_connect('host','login','pass') or die('Błąd połączenia');
  11. mysql_select_db('wybór bazy') or die('Nie można wybrać bazy');
  12. mysql_set_charset('utf8'); //ustawiam kodowanie znaków z bazy na UTF-8
  13. $all=mysql_query("SELECT * FROM wybór_tabeli ORDER BY serial");
  14. $razem= mysql_num_rows($all); //zliczam wszystkie rekordy
  15. echo "Ilość znalezionych wpisów to: <b>".$razem."</b><br>"; //wyświetlam zmienną $all
  16. $style = '';
  17. while($wiersz=mysql_fetch_array($all))
  18. {
  19.  
  20. if($wiersz['status'] == 'sprawny'){$style = 'style="background-color: green;"';}
  21. if($wiersz['status'] == 'niesprawny'){$style = 'style="background-color: red;"';}
  22.  
  23. echo '
  24. <tr>
  25. <td align="center" '.$style.'>'.$wiersz['serial'].'</td>
  26. <td>'.$wiersz['data_zmiany'].'</td>
  27. <td>'.$wiersz['status'].'</td>
  28. <td>'.$wiersz['place'].'</td>
  29. </tr>
  30. ';
  31. }
  32. ?>
  33. </table>


1 otwierasz klamre na początku while a gdzie zamykasz?
2 atrybuty w html zamyka się " a nie '
3 skoro otwierasz TR w pętli to przydało by się go zamknąć..
zaworek
Cytat(Ulysess @ 4.02.2011, 16:28:16 ) *
1 otwierasz klamre na początku while a gdzie zamykasz?
2 atrybuty w html zamyka się " a nie '
3 skoro otwierasz TR w pętli to przydało by się go zamknąć..


Dziękuję @Ulysess, kolorowanie działa, komórka serial zmienia swój kolor. Rozumiem, że aby uzyskać zmianę koloru całego wiersza trzeba kod

  1. <td align="center" '.$style.'>

powtórzyć w każdej zmiennej.

Co do uwag to ad.1 i ad.3 było ok. Po prostu źle wkleiłem tu swój kod źródłowy.
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.