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.
<?php
$data = "".$_POST['miesiac'].'-'.$_POST['dzien'].'-'.$_POST['rok']."";
if ($baza) {
if ($wynik and
isset($_POST["zapisz"])) { mysql_query ("INSERT INTO frekwencja (nr, obec, data) VALUES ('$_POST[ewid]','$_POST[obec]', '$data')"); echo '<font color="red">Dane zostały poprawnie dodane do bazy</font>'; }
if ($wynik and
isset($_POST["kasuj"])) { mysql_query("DELETE FROM frekwencja WHERE nr LIKE '$_POST[ewid]' AND data LIKE '$data'"); echo '<font color="blue">Dane zostały usunięte</font>'; }
}
if(!isset($_POST["pokaz"])) { $pyt=mysql_query("SELECT data FROM frekwencja WHERE nr='1234'"); $zapyt=mysql_query("SELECT obec FROM frekwencja WHERE nr='1234'"); } else {
$pyt=mysql_query("SELECT data FROM frekwencja WHERE nr='$_POST[ewid]'"); $zapyt=mysql_query("SELECT obec FROM frekwencja WHERE nr='$_POST[ewid]'"); }
$uzyte[] = $dane['data'];
$ob[] = $ne['obec'];
$margines = 0; // ile dni przed i za miesiącem
$r = ($_GET["r"])?
number_format($_GET["r"],0
):0; // różnica w miesiącach względem aktualnego $iloscdni = date("t", $znacznik); $miesiac = date("m", $znacznik); $rok = date("Y", $znacznik); $dni = array("nd","pn","wt","śr","cz","pt","so"); $miesiace = array("Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień");
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>";
$od = date("Y-m-d", mktime(0
, 0
, 0
, $miesiac, 1
-$margines, $rok)); $do = date("Y-m-d", mktime(0
, 0
, 0
, $miesiac, $iloscdni+$margines, $rok));
for($i=1-$margines; $i<=$iloscdni+$margines; $i++) {
$dzien = $dni[date("w", mktime(0
, 0
, 0
, $miesiac, $i, $rok))]; $d = date("d", mktime(0
, 0
, 0
, $miesiac, $i, $rok)); if ($i<1 or $i>$iloscdni) $styl = "background:#eee;";
else $styl='';
$linia1 .= "<td style='$styl'>$dzien</td>";
$linia2 .= "<td style='$styl'>$d</td>";
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>"; 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>"; }
else $linia3 .= '<td>x</td>';
//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>";
}
echo "<table width='100%' border='1' cellspacing='0' cellpadding='1'>"; echo "<tr><td>Pracownik</td>$linia2</tr>"; echo "<tr><td>".$_POST['ewid']."</td>$linia3</tr>";
?>