prepare($sql);
$stmt->bindValue(':id', $_POST["user"], PDO::PARAM_INT);
$stmt->bindValue(':przelozony', $_SESSION['user_id'], PDO::PARAM_INT);
$stmt->execute();
if($stmt->rowCount() === 0)
{
$_SESSION["innfoError"] = "Nie jesteś przełożonym tego użytkownika";
header("Location: panel.php");
exit();
}
else
{
//pobierz dane z tabeli uzytkownicy, dzialy
$sql = "SELECT uzytkownicy.id AS id, login, imie, nazwisko, uzytkownicy.dzial AS dzial, `przelozony`, dzialy.nazwa AS nazwa, dzialy.skrot AS skrot FROM uzytkownicy, dzialy WHERE uzytkownicy.id = :id AND dzialy.id = uzytkownicy.dzial AND uzytkownicy.aktywne = 1";
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':id', $_POST["user"], PDO::PARAM_INT);
$stmt->execute();
$user = $stmt->fetch(PDO::FETCH_ASSOC);
//print_r($user);
//pobierz wszystkie obecności z danego miesiąca
$sql = "SELECT * FROM obecnosc WHERE kto = :kto AND aktywne = 1 AND data LIKE :data";
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':kto', $_POST["user"], PDO::PARAM_INT);
$stmt->bindValue(':data', $_POST['mm'].'%', PDO::PARAM_STR);
$stmt->execute();
$obecnosci = $stmt->fetchAll(PDO::FETCH_ASSOC);
//print_r($obecnosci);
//$_POST['mm'] = YYYY-MM
//pobierz ilość dni w miesiącu
$daysInMonth = cal_days_in_month(CAL_GREGORIAN, explode('-', $_POST['mm'])[1], explode('-', $_POST['mm'])[0]);
?>
Panel
Imię i nazwisko:
Dział:
prepare($sql);
$stmt->bindValue(':kto', $_POST["user"], PDO::PARAM_INT);
$stmt->bindValue(':data', $_POST['mm'].'%', PDO::PARAM_STR);
$stmt->execute();
$zdalnie = $stmt->rowCount();
echo "Ilość dni pracy zdalnej:
".$zdalnie."";
?>
Dzień |
Czas pracy |
prepare($sql);
$stmt->bindValue(':data', $_POST['mm'].'%', PDO::PARAM_STR);
$stmt->execute();
$dniWolne = $stmt->fetchAll(PDO::FETCH_ASSOC);
$dniWolneArray = [];
foreach($dniWolne as $dzienWolny)
{
$dniWolneArray[] = $dzienWolny['data'];
}
for($i = 1; $i <= $daysInMonth; $i++)
{
//sprawdź czy jest wpis w bazie dla danego dnia
$day = $_POST['mm']."-".($i < 10 ? "0".$i : $i);
$sql = "SELECT * FROM obecnosc, statusy WHERE obecnosc.kto = :kto AND obecnosc.data = :data AND obecnosc.aktywne = 1 AND obecnosc.status = statusy.id";
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':kto', $_POST["user"], PDO::PARAM_INT);
$stmt->bindValue(':data', $day, PDO::PARAM_STR);
$stmt->execute();
$obecnosc = $stmt->fetch(PDO::FETCH_ASSOC);
//sprawdź czy sobota lub niedziela
$dayOfWeek = date('w', strtotime($day));
if($dayOfWeek == 0 || $dayOfWeek == 6)
{
echo '';
}
else if(in_array($day, $dniWolneArray))
{
echo '
';
}
else
{
echo '
';
}
//brak wpisu w bazie
if($obecnosc === false)
{
echo ''.$i.' | ';
echo ' | ';
}
else
{
//jest wpis w bazie
echo "".$i;
//jeżeli niezaakceptowane ❌
if($obecnosc['zaakceptowane'] == 0)
{
echo " ❌";
}
//jeżeli zaakceptowane ✔️
else if($obecnosc['zaakceptowane'] == 1)
{
echo " ✔️";
}
echo " | ";
if($obecnosc['czasZaczecia'] != NULL && $obecnosc['czasKonca'] != NULL)
{
echo "".$obecnosc['czasZaczecia']." - ".$obecnosc['czasKonca']."";
if($obecnosc['skrot'] != "OB")
{
echo " - ".$obecnosc['skrot']."";
}
}
else if($obecnosc['czasZaczecia'] != NULL && $obecnosc['czasKonca'] == NULL)
{
echo " | ".$obecnosc['czasZaczecia']." - ";
if($obecnosc['skrot'] != "OB")
{
echo " - ".$obecnosc['skrot']."";
}
}
else if($obecnosc['czasZaczecia'] == NULL && $obecnosc['czasKonca'] != NULL)
{
echo " | - ".$obecnosc['czasKonca']."";
if($obecnosc['skrot'] != "OB")
{
echo " - ".$obecnosc['skrot']."";
}
}
else
{
echo " | ".$obecnosc['skrot']."";
//
}
if($obecnosc['zdalne'] == 1)
{
echo " - PZ";
}
else
{
echo " | ";
}
}
echo "
";
}
?>