CREATE TABLE IF NOT EXISTS `wh_zadanie_czaspracy` ( `id_czaspracy` int(11) NOT NULL AUTO_INCREMENT, `id_zadanie` int(11) NOT NULL, `id_pracownik` int(11) NOT NULL, `id_klient` int(11) NOT NULL, `date` date NOT NULL, `czas` int(11) NOT NULL, PRIMARY KEY (`id_czaspracy`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=16 ; INSERT INTO `wh_zadanie_czaspracy` (`id_czaspracy`, `id_zadanie`, `id_pracownik`, `id_klient`, `date`, `czas`) VALUES (12, 1, 3, 1, '2013-01-18', 8), (11, 2, 3, 2, '2013-01-18', 8), (9, 2, 3, 2, '2013-01-16', 5), (7, 2, 3, 2, '2013-01-15', 6), (10, 2, 3, 2, '2013-01-13', 6), (13, 1, 3, 1, '2013-01-16', 6),
A tutaj generuję tabelkę
// TUTAJ GENERUJĘ NAGŁÓWKI TABELKI Z NAZWAMI ZADAŃ $zapytanie0 = "SELECT * FROM ".$prefix."zadanie_czaspracy cp INNER JOIN ".$prefix."zadanie z ON cp.id_zadanie = z.id WHERE `id_pracownik`= ".$id_pracownik." GROUP BY cp.id_zadanie HAVING count(*) > 1 "; } // A TUTAJ WYŚWIETLAM WERSY Z DATĄ I ILOŚCIĄ GODZIN PRZEPRACOWANĄ (W ZALEŻNOŚCI OD ZADANIA) $zapytanie = "SELECT date, czas, id_czaspracy, id_zadanie FROM ".$prefix."zadanie_czaspracy WHERE id_pracownik = ".$id_pracownik." order by date ASC"; $id_date = $row['date']; } // WYŚWIETLANIE GODZIN I DATY foreach ($daty as $id => $data){ foreach ($data['czas'] as $czaspracy){ } } ?>
Rezultatem jest tabela z pustymi wersami, zamiast dziur chciałbym, żeby były powstawiane zera.
DATA Zadanie1 Zadanie2 2013-01-13 6 2013-01-15 6 2013-01-16 5 6 2013-01-18 8 8
Chciałbym, aby ilość godzin była przypisana do odpowiedniej kolumny (zadania), a tam gdzie pracownik nie pracował, żeby się pojawiło zero. Nie mam pomysłu jak prawidłowo wygenrować taką tabelkę. Chciałbym aby wyglądała
DATA Zadanie1 Zadanie2 2013-01-01 6 0 2013-01-02 6 6 2013-01-03 0 6
Z góry dzięki za wszelkie sugestie.