Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z odpowiednim wyswietlaniem wynikow!
Forum PHP.pl > Forum > PHP
mwaloos
Witam
Potrzebuje pomocy. Dane na temat frekwencji zapisuje do bazy: obecny = 0, urlop wypoczynkowy = 1 itd. rownoczesnie zapisywana jest data.
Problem polega na tym iz chcialbym te dane odpowiednio wyswietlic. tzn jesli klikne pokaz i wybiore imie, nazwisko
to wyswietli mi sie w komorka tabeli pole 4.10.2008 jako zielone, a 5.10.2008 jako niebieskie - na chwile obecna oba pola sa wyswietlane na zielone. pozostale puste pole maja wartosc 'x'.

Niektore zapisu kodu moga dziwic ale staralem sie go sobie rozlozyc na jak najmniejsze czynniki. Prosze pomożcie. W razie pytan udziele pelnych informacji.
  1. <?php
  2. $data = "".$_POST['miesiac'].'-'.$_POST['dzien'].'-'.$_POST['rok']."";
  3.  
  4.          if ($baza) {
  5.        $wynik = mysql_select_db($nbaza,$baza);
  6.        if ($wynik and isset($_POST["zapisz"])) {
  7.            mysql_query ("INSERT INTO frekwencja (nr, obec, data) VALUES ('$_POST[ewid]','$_POST[obec]', '$data')");
  8.            echo '<font color="red">Dane zostały poprawnie dodane do bazy</font>';
  9.                }
  10.        if ($wynik and isset($_POST["kasuj"])) {
  11.            mysql_query("DELETE FROM frekwencja WHERE nr LIKE '$_POST[ewid]' AND data LIKE '$data'");
  12.            echo '<font color="blue">Dane zostały usunięte</font>';
  13.            }    
  14.        }    
  15.  
  16.    if(!isset($_POST["pokaz"])) {
  17.        $pyt=mysql_query("SELECT data FROM frekwencja WHERE nr='1234'");
  18.        $zapyt=mysql_query("SELECT obec FROM frekwencja WHERE nr='1234'"); }
  19.    else     {
  20.        $pyt=mysql_query("SELECT data FROM frekwencja WHERE nr='$_POST[ewid]'");
  21.        $zapyt=mysql_query("SELECT obec FROM frekwencja WHERE nr='$_POST[ewid]'");
  22.        }
  23.    
  24.    $uzyte = array();
  25.    $ob = array();
  26.    
  27.    while($dane = mysql_fetch_assoc($pyt))
  28.    $uzyte[] = $dane['data'];
  29.    
  30.    while($ne = mysql_fetch_array($zapyt))
  31.    $ob[] = $ne['obec'];
  32.  
  33. $margines = 0; // ile dni przed i za miesiącem
  34. $r = ($_GET["r"])?number_format($_GET["r"],0):0; // różnica w miesiącach względem aktualnego
  35. $znacznik = mktime(0, 0, 0, date("m")+$r, 1);
  36. $iloscdni = date("t", $znacznik);
  37. $miesiac  = date("m", $znacznik);
  38. $rok      = date("Y", $znacznik);
  39. $dni      = array("nd","pn","wt","śr","cz","pt","so");
  40. $miesiace = array("Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec",
  41. "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień");
  42.  
  43. echo "<p><a href='{$_SERVER["PHP_SELF"]}?r=".($r-1)."#fragment3'><</a> | {$miesiace[$miesiac-1]} $rok | <a href='{$_SERVER["PHP_SELF"]}?r=".($r+1)."#fragment3'>></a></p>";
  44.  
  45. $od =  date("Y-m-d", mktime(0, 0, 0, $miesiac, 1-$margines, $rok));
  46. $do =  date("Y-m-d", mktime(0, 0, 0, $miesiac, $iloscdni+$margines, $rok));
  47.  
  48.   for($i=1-$margines; $i<=$iloscdni+$margines; $i++) {
  49.  $dzien = $dni[date("w", mktime(0, 0, 0, $miesiac, $i, $rok))];
  50.  $d = date("d", mktime(0, 0, 0, $miesiac, $i, $rok));
  51.  if ($i<1 or $i>$iloscdni) $styl = "background:#eee;";
  52.  else $styl='';
  53.  $linia1 .= "<td style='$styl'>$dzien</td>";
  54.  $linia2 .= "<td style='$styl'>$d</td>";
  55.  
  56. if(in_array(date("n-j-Y", mktime(0, 0, 0, $miesiac, $i, $rok)), $uzyte) and in_array("0", $ob)) $linia3 .= "<td style=background-color:#00CC33;>t</td>";
  57. if(in_array(date("n-j-Y", mktime(0, 0, 0, $miesiac, $i, $rok)), $uzyte) and in_array("1", $ob)) $linia3 .= "<td style=background-color:red;>n</td>";
  58. }
  59. else $linia3 .= '<td>x</td>';
  60. //if(in_array(date("n-j-Y", mktime(0, 0, 0, $miesiac, $i, $rok)), $uzyte) and in_array("1", $ob)) $linia3 .= "<td style=background-color:#red;>n</td>";
  61.  
  62. }
  63.  
  64. echo "<table width='100%' border='1' cellspacing='0' cellpadding='1'>";
  65. echo "<tr><td>Pracownik</td>$linia2</tr>";
  66. echo "<tr><td>".$_POST['ewid']."</td>$linia3</tr>";
  67. echo "</table>";
  68.  
  69. print_r($uzyte);
  70. print_r($ob);
  71. ?>
Cysiaczek
Popraw temat na zgodny z regulaminem, inaczej zamknę
mwaloos
czy ktos jest w stanie pomoc - choc naprowadzic na trop?
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.