Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z odpowiednim wyswietlaniem wynikow!, php+mysql
mwaloos
post 4.10.2008, 11:35:35
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 13.11.2007

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


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. ?>


Ten post edytował mwaloos 4.10.2008, 12:23:02


--------------------
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.08.2025 - 05:14