Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Zmiana koloru wiersza w zależności od wyrażenia
zaworek
post 4.02.2011, 15:42:07
Post #1





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 27.06.2006

Ostrzeżenie: (0%)
-----


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>
Go to the top of the page
+Quote Post
Ulysess
post 4.02.2011, 16:28:16
Post #2





Grupa: Zarejestrowani
Postów: 695
Pomógł: 65
Dołączył: 27.07.2009
Skąd: Y

Ostrzeżenie: (0%)
-----


  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ąć..
Go to the top of the page
+Quote Post
zaworek
post 5.02.2011, 06:23:26
Post #3





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 27.06.2006

Ostrzeżenie: (0%)
-----


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.


Ten post edytował zaworek 5.02.2011, 06:31:11
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 16.05.2025 - 15:20