system rejestracji czasu pracy

0

Prosze o pomoc w realizacji nastepujacego celu :

Chce zbudowac prosty system rejestracji czasu pracy.
Czytnik kart RFID odczytuje nr karty i przesyla je do mysql wraz z aktualna data, w postaci :

$sql = "UPDATE lista_obecnosci SET CardID='$value_RFID', date='$date'"

W wyniku powyzszego powstaje rekord w bazie z polami: CardID i date.
Powiedzmy, ze tabela ma 1000 takich rekordow.

Chcialbym aby skrypt php wyswietlil mi tabele w postaci :

RDIF,1,2,3,4,5...31 (dni miesiaca)

i dla danego RFID przypisal wartosc daty lub NULL jesli nie bylo w tym dniu logowania.

W ten sposob powstalaby lista obecnosci dla calego miesiaca i poszczegolnych pracownikow (numerow RFID).

Prosze o pomoc przy skrypcie.

1
SELECT
  d.dzien,
  o.card_id
from
(select adddate('1970-01-01',t4*10000 + t3*1000 + t2*100 + t1*10 + t0) dzien from
 (select 0 t0 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t0,
 (select 0 t1 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t1,
 (select 0 t2 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t2,
 (select 0 t3 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t3,
 (select 0 t4 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t4) d
left join lista_obecnosci o on o.data = d.dzien
WHERE
  dzien between data_od AND data_do

a zrobić z tego pivota prościej Ci będzie po stronie PHP niż SQLa. BTW w ogóle prościej Ci będzie zrobić to po stronie PHP :p

1 użytkowników online, w tym zalogowanych: 0, gości: 1