Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL]Tworzenie tabeli z godzinami pracy dla każdego z pracowników
bongo48
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 8.05.2017

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


Cześć wszystkim,

chciałbym stworzyć tabele z godzinami dla każdego z pracownika (możliwość wglądu jak i zapisu godzin pracy). Stworzylem system rejestracji i logowania.
Stworzyłem tabele z poszczególnymi datami, ale potrzebuję przypisać do poszczególnej daty, godziny pracy pracownika i nazwa projektu. Chciałbym, żeby pracownik miał możliwość zapisu swoich godzin pracy. Utknąłem po przypisaniu mojej tabeli z sql w tablicy.

Proszę o jakieś wskazówki jak się za to zabrać. Z góry dzięki bardzo

tutaj co chciałbym osiągnąć:
(IMG:https://zapodaj.net/images/4ec6e9f8671d9.jpg)
moja tabela w mysql "Kalendarz"
id | date | project | login

a tutaj to co dotychczas udało mi się stworzyć
  1. <?php
  2. $data=array();
  3. $query = "SELECT * FROM kalendarz";
  4. $result = $polaczenie->query($query);
  5. while($row = mysqli_fetch_assoc($result))
  6. {
  7. $data[] = $row;
  8. }
  9.  
  10. // assigning variables for dates
  11. $dzis = date('Y-m-d');
  12. $period = new DatePeriod(
  13. new DateTime('2017-05-01'),
  14. new DateInterval('P1D'),
  15. new DateTime('2017-05-31')
  16. );
  17.  
  18. foreach( $period as $date) {
  19. $array[] = $date->format('d-m-Y');
  20. }
  21. $count_days = count($array);
  22. // creating each row
  23. echo "<table border='1'>";
  24. echo "<tr>";
  25. echo "<th>TEMAT</th>>";
  26. $temat = "project_name";
  27. for ($j = 0; $j < $count_days; $j++) {
  28. echo "<th>$array[$j]</th>";
  29. }
  30. echo "</tr>";
  31. echo "</table>";
  32. ?>


Ten post edytował Kshyhoo 8.05.2017, 17:26:40
Powód edycji: [Kshyhoo]: bb-code
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bongo48
post
Post #2





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 8.05.2017

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


Raczkuje dopiero w php, docelowo będę musiał się zmierzyć z każdym z tego co napisałeś. Lecz, krok po kroku. Tworzenie tabel w sql zostawię na później, teraz chciałbym stworzyć formularz, który prezentuje dane, lecz można wpisywać tam też godziny, których do tej pory nikt nie wpisał.

Do rzeczy, udało mi się coś takiego sklecić :

  1. ```
  2. // assigning variables for dates
  3. $dzis = date('Y-m-d');
  4. $period = new DatePeriod(
  5. new DateTime('2017-05-01'),
  6. new DateInterval('P1D'),
  7. new DateTime('2017-05-31')
  8. );
  9.  
  10. foreach( $period as $date) { $array[] = $date->format('d-m-Y'); }
  11. $liczba_dni = count($array);
  12.  
  13.  
  14. echo "<table border='1'>";
  15. echo "<tr>";
  16. for ($j = 0; $j < $liczba_dni; $j++)
  17. {
  18. echo "<th>$array[$j]</th>";
  19. echo "</tr>";
  20. $my_date = date('Y-m-d', strtotime ($array[$j]));
  21. $query = "SELECT hours FROM calendar where login= '$_SESSION[user]' and date = '$my_date' ORDER BY date";
  22. $result = $polaczenie->query($query);
  23. while ($row = mysqli_fetch_assoc($result))
  24. {
  25. $hour = $row["hours"];
  26. echo "<tr><td>";
  27. echo $hour;
  28. echo "</td></tr>" ;
  29. }
  30.  
  31. }
  32. ```


Tylko że tworzy to się w jednej kolumnie, a ja chciałbym żeby to było tak jak na screenie: daty a pod spodem godziny. Masz jakiś pomysł na to?

Pozdrawiam
Powód edycji: [Kshyhoo]: bb-code
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 07:48