Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: kolorowanie tabeli w zależności od stanu
Forum PHP.pl > Forum > Przedszkole
bart023
Witam serdecznie...
Mam następujący problem.
W tabeli pokoje są następujące pola:

Nr_pokoju int,
Ilosc_miejsc int,
Wyposazenie TEXT,
Uwagi TEXT,
Pracownik_odpowiedzialny_za_pokoj int,
Stan BOOL,
CONSTRAINT Nr_popokoju_kg PRIMARY KEY (Nr_pokoju),

Chodzi o to, żeby narysować tabelkę z nr_pokoi i jeżeli stan pokoju=true tło było np:zielone, a w przeciwnym wypadku czyli jak stan pokoju=false to np:zółte.
Zrobiłem to w taki sposób:

  1. <?php
  2. $conn = pg_connect(&#092;"host=localhost port=5432 user=****** password=****** dbname=****\"); 
  3.  
  4. $wynik=pg_query(&#092;"SELECT  stan as st
  5. FROM  pokoje&#092;");
  6. $ilosc_wierszy=pg_num_rows($wynik);
  7.  
  8. $wynik_a=pg_query(&#092;"SELECT  nr_pokoju as nr
  9. FROM  pokoje&#092;");
  10. $ilosc_wierszy_a=pg_num_rows($wynik_a);
  11.  
  12. print &#092;"<table border=\"10\" align=\"CENTER\" valign=\"MIDDLE\" cellspacing=\"10\" cellpadding=\"10\">\";
  13.  
  14. while ($wiersz_a = pg_fetch_array($wynik_a,null,PGSQL_NUM))
  15.      {    
  16.     foreach ($wiersz_a as $nr) 
  17.      {
  18.                     while ($wiersz = pg_fetch_array($wynik,null,PGSQL_NUM))
  19.          {    
  20.         foreach ($wiersz as $st) 
  21.          {
  22.  
  23. if ($st==t)
  24.         {         
  25.          print &#092;"<td bgcolor='#008000'>$nr</font></td>\";
  26.          }
  27.  
  28. else        
  29.         {
  30.            print &#092;"<td bgcolor='#FFFF00'>$nr</font></td>\";
  31.         }
  32. }}
  33. }}
  34.  print &#092;"</table>\";
  35. ?>

Problem polega na tym:
Mam wprowadzone 4 pokoje i 2 pierwsze maja stan=true(zielone) a 2 pozostałe stan=false(żółte),
W wyświetlonj tabelce 2 pierwsze pola są zielone a 2 pozostałe żółte i to się zgadza....
ALE wyświetla mi tylko nr pierwszego pokoju...
Gdzie jest błąd??Może da rade to zrobić inaczej??
Zgóry dzieki za wszelkie wskazówki....
Pozdrawiam...


JUŻ ZROBIONE!!!!
JAKIE TO PROSTE:D

  1. <?php
  2. $conn = pg_connect(&#092;"host=localhost port=5432 user=****** password=****** dbname=****\"); 
  3. $wynik = pg_query('SELECT nr_pokoju, stan FROM pokoje ORDER BY nr_pokoju');
  4.  
  5. echo '<table border=\"1\" valign=\"middle\" cellspacing=\"0\" cellpadding=\"10\">';
  6.  
  7. while($wiersz = pg_fetch_array($wynik, NULL, PGSQL_NUM))
  8. {
  9. if ($wiersz[1]==t)
  10. {
  11. $kolor=&#092;"red\";
  12. }
  13. else
  14. {
  15. $kolor=&#092;"yellow\"; 
  16. }
  17. echo &#092;"<td bgcolor=\"$kolor\">\".$wiersz[0].\"</td>\";
  18. }
  19. echo '</table>';
  20. ?>
crash
  1. <?php
  2. $conn = pg_connect('host=localhost port=5432 user=****** password=****** dbname=****'); 
  3.  
  4. $wynik = pg_query('SELECT nr_pokoju, stan FROM pokoje');
  5.  
  6. echo '<table border=\"10\" align=\"center\" valign=\"middle\" cellspacing=\"10\" cellpadding=\"10\">';
  7.  
  8. while($wiersz = pg_fetch_array($wynik, NULL, PGSQL_NUM))
  9. {
  10. echo '<td bgcolor=\"#'.($wiersz[1] == TRUE ? '008000' : 'FFFF00').'\">'.$wiersz[0].'</font></td>';
  11. }
  12. echo '</table>';
  13. ?>
bart023
sprawdziłem ten sposób teraz nr pokojów wyświetla poprawnie...
ALE kolory się nie zgadzają....
Ociu
Tzn. że odwrotnie się kolory wyświetlają ?
bart023
Cytat(crashu @ 2005-03-19 16:27:08)
  1. <?php
  2.  
  3. while($wiersz = pg_fetch_array($wynik, NULL, PGSQL_NUM))
  4. {    
  5.     echo '<td bgcolor=\"#'.($wiersz[1] == TRUE ? '008000' : 'FFFF00').'\">'.$wiersz[0].'</font></td>';
  6. }
  7.  
  8. ?>

tzn: jak jest tak jak w tym kodzie wartosc ustawiona na wiersz[1] == TRUE to wszystkie pokoje leca na TRUE jak ustawilem na wiersz[1] == FALSE to wszystkie pokoje leca na FALSE.
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.