Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL][PHP]Jak pokolorować komórkę tabeli jeżeli zostało mniej niż miesiąc do wyznaczonej daty
Forum PHP.pl > Forum > Przedszkole
przemo191
Witam.

Mam taki kod:
  1. $umowa_leasingowa_do_dnia=mysql_result($result,$i,"UMOWA_LEASINGOWA_DO_DNIA");


oraz:
  1. <td><font face="Arial, Helvetica, sans-serif"><?php echo $umowa_leasingowa_do_dnia; ?></font></td>


Zmienna $umowa_leasingowa_do_dnia zwraca wartość 2011-08-29, wartość ta wpisana jest do bazy mysql.
Pole w której wpisana jest na wartość ma typ date.

Chodzi mi o to, że nie potrafię zrobić tak, a żeby kiedy będzie miej niż miesiąc do tej daty, komórka w tabeli kolorowała się np. na czerwono, albo tekst zmieniał kolor na czerwony.
CuteOne
  1. function roznica_data($data_poczatek, $date_koniec, $jednostka_czasu="sekund")
  2. {
  3. $tablica = array('minut'=>60, 'godzin'=>3600, 'dni'=>86400, 'sekund'=>1);
  4. return round(((strtotime($date_koniec) - strtotime($data_poczatek)) / $tablica[$jednostka_czasu]));
  5. }
  6.  
  7. $bg = (roznica_data(date("Y-m-d"), $umowa_leasingowa_do_dnia, 'dni') < 31) ? 'red' : 'green';
  8.  
  9. echo '<td style="background: '.$bg.'">'.$umowa_leasingowa_do_dnia.'</td>';


Funkcja wzięta z http://www.egrafik.pl/php-jak-stworzyc-prosta-funkcje-do-obliczania-roznicy-pomiedzy-datami,1396.html ://http://www.egrafik.pl/php-jak-stwor...tami,1396.html
przemo191
Dzięki za pomoc tego potrzebowałem wink.gif

Jeden problem rozwiązany, ale niestety pojawił się drugi, skrypt który wywołuje tabele działa w pętli while

  1. $i=0;
  2. while ($i < $num) {
  3.  
  4. $umowa_leasingowa_do_dnia=mysql_result($result,$i,"UMOWA_LEASINGOWA_DO_DNIA");
  5.  
  6. function roznica_data($data_poczatek, $date_koniec, $jednostka_czasu="sekund")
  7. {
  8. $tablica = array('minut'=>60, 'godzin'=>3600, 'dni'=>86400, 'sekund'=>1);
  9. return round(((strtotime($date_koniec) - strtotime($data_poczatek)) / $tablica[$jednostka_czasu]));
  10. }
  11.  
  12. $bg = (roznica_data(date("Y-m-d"), $umowa_leasingowa_do_dnia, 'dni') < 31) ? 'red' : 'green';
  13.  
  14. ?>
  15.  
  16.  
  17. <tr>
  18. <?php echo '<td style="background: '.$bg.'">'.$umowa_leasingowa_do_dnia.'</td>';?>
  19. </tr>
  20.  
  21. <?php
  22. $i++;
  23. }


A kiedy dodam funkcje zaraz za ustaleniem zmiennych to po wykonaniu ponownie tego kodu duplikuje się funkcja roznica_data.
Kiedy był tylko jeden rekord w tabeli było wszystko ok, ale kiedy dodałem drugi rekord do tabeli to właśnie funkcja roznica_data się zduplikowała.
Wcześniej o tym nie napisałem ponieważ nie wiedziałem, że będzie to miało znaczenie.
kudlatypawelek
Wyciągnij definicję
  1. function roznica_data($data_poczatek, $date_koniec, $jednostka_czasu="sekund")
  2. {
  3. $tablica = array('minut'=>60, 'godzin'=>3600, 'dni'=>86400, 'sekund'=>1);
  4. return round(((strtotime($date_koniec) - strtotime($data_poczatek)) / $tablica[$jednostka_czasu]));
  5. }


z pętli while(), natomiast jej wywołanie pozostaw bez zmian
przemo191
Działa, dzięki za pomoc po raz drugi wink.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.