Rooster overzicht per 4 weken
Alleen nu bij het persoonlijk rooster zou ik graag willen om het rooster weer te geven per vier weken en de totalen op te tellen per periode. (dus het script zou rekening moeten houden mee dat 1 t/m 4 1 periode is en 5 t/m 8 ga zo maar door, maar bij weken van 53 weken is ons zo bedrijf zo omslachtig geweest om 45 tm 49 te doen (5 weken) em 50 tot en met 53)...
Alleen weet ik niet hoe ik dit het besta kan op zetten, want zelf dacht ik dat ik iets moet doen met een date() functie die alle weken van het jaar moet kennen en daarna bepalen welke weken in werlke periode zit maar door dat al meerdere dingen geprobeerd hebt kom ik nu hier bij jullie.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
<?
echo '<h1>Persoonlijk rooster: '.$naam.'</h1>';
echo '<a href=rooster.php>Week rooster</a> |';
$query = mysql_query("SELECT * FROM `kw_personeel` WHERE id='".$_GET['id']."'");
$row = mysql_fetch_array($query);
print "
<a href=\"javascript:void(null)\" target=\"_self\" onClick=\"window.open('print_persoonlijk_rooster.php?id=".$row['id']."','1','height=400,width=600,adress=0,location=0,menubar=0,statusbar=0,locationbar=0,scrollbars=1,resizable=1');\">Print rooster</a>";
print'<br><br><form><table width="100%" class="kwantum_td">
<tr>
<td height="20"><b> </b></td>
<td height="20">';
if (isset($_GET['id']) && is_numeric($_GET['id'])) {
$naam = $_GET['id'];
} else {
$naam = '0';
}
print ' <select onchange="this.form.submit()" name="id" id="jaarweek" value="'.$result['naam'].'"/>';
$query = mysql_query("SELECT * FROM `kw_personeel` WHERE actief = 1 ORDER BY naam ASC") or die (mysql_error());
while($result = mysql_fetch_assoc($query)){
print '<option value="'.$result['id'].'"' . ($naam == $result['id'] ? ' selected="selected"' : '') . '>'.$result['naam'].'
</option>';
}
print'</select></td>
<td class="kwantum_td" height="20" width="40"><b> Ctr</b></td>
<td class="kwantum_td" height="20" width="40"><b> Ma</b></td>
<td class="kwantum_td" height="20" width="40"><b> Di</b></td>
<td class="kwantum_td" height="20" width="40"><b> Wo</b></td>
<td class="kwantum_td" height="20" width="40"><b> Do</b></td>
<td class="kwantum_td" height="20" width="40"><b> Vri</b></td>
<td class="kwantum_td" height="20" width="40"><b> Za</b></td>
<td class="kwantum_td" height="20" width="40"><b> Zo</b></td>
<td class="kwantum_td" height="20" width="40"><b> Uren</b></td>
</tr>';
print '<tr>
<td class="kwantum_td" colspan="2" height="20" width="40"> </td>
<td class="kwantum_td" height="20" width="40"> '.isset($result1['maandag']).'</td>
<td class="kwantum_td" height="20" width="40"> '.isset($result1['dinsdag']).'</td>
<td class="kwantum_td" height="20" width="40"> '.isset($result1['woensdag']).'</td>
<td class="kwantum_td" height="20" width="40"> '.isset($result1['donderdag']).'</td>
<td class="kwantum_td" height="20" width="40"> '.isset($result1['vrijdag']).'</td>
<td class="kwantum_td" height="20" width="40"> '.isset($result1['zaterdag']).'</td>
<td class="kwantum_td" height="20" width="40"> '.isset($result1['zondag']).'</td>
<td class="kwantum_td" height="20" width="40"> </td>
</tr>';
//afdeling en namen hier
$query = mysql_query("SELECT * FROM `kw_personeel` WHERE id='".$_GET['id']."'");
$row = mysql_fetch_array($query);
print '<tr class="kwantum_td_title">
<td colspan="11" height="20"> Week - Jaar</td>
</tr> ';
function weekToweek($date)
{
$week = substr($date, 2);
$jaar = date('Y', mktime(0, 0, 0, 1, 1, substr($date, 0, 2)));
return 'week ' . $week . ' - ' . $jaar;
}
if($status == "1"||$status == "2"){
$query2 = mysql_query("SELECT * FROM kw_rooster WHERE naam = '" . $naam . "' ORDER BY jaarweek DESC") or die (mysql_error());
} else {
$query2 = mysql_query("SELECT DISTINCT kw_rooster.* FROM `kw_rooster` JOIN `kw_week` ON kw_rooster.jaarweek = kw_week.jaarweek WHERE kw_week.actief = 1 AND kw_rooster.naam = '" . $naam . "' ORDER BY kw_rooster.jaarweek DESC");
}
while($row = mysql_fetch_assoc($query2)){
$qu = mysql_query("SELECT * FROM `kw_week` WHERE jaarweek ='".$row['jaarweek']."'");
$week = mysql_fetch_array($qu);
$qu = mysql_query("SELECT * FROM `kw_personeel` WHERE id ='".$row['naam']."'");
$naam = mysql_fetch_array($qu);
print ' <tr>
<td class="kwantum_td" height="20" colspan="2"> ';
if($status == "1"||$status == "2"){
print'<a href="maak_rooster.php?actie=lees&id='.$row['id'].'">';
}
else {
print '<a href="rooster.php?jaarweek='.$row['jaarweek'].'">';
}
print''.weekToweek($week['jaarweek']).'</a>';
print '</td>
<td class="kwantum_td" height="20" width="40" align="center">'.$naam['contract'].'</td>
<td class="kwantum_td" height="20" width="40" align="center">'.$row['maandag'].'</td>
<td class="kwantum_td" height="20" width="40" align="center">'.$row['dinsdag'].'</td>
<td class="kwantum_td" height="20" width="40" align="center">'.$row['woensdag'].'</td>
<td class="kwantum_td" height="20" width="40" align="center">'.$row['donderdag'].'</td>
<td class="kwantum_td" height="20" width="40" align="center">'.$row['vrijdag'].'</td>
<td class="kwantum_td" height="20" width="40" align="center">'.$row['zaterdag'].'</td>
<td class="kwantum_td" height="20" width="40" align="center">'.$row['zondag'].'</td>
<td class="kwantum_td" height="20" width="40" align="center">'.$row['totaaluren'].'</td>
</tr>';
if($status == "1"||$status == "2"){
//totalen
print'
<tr>
<td class="kwantum_td" colspan="9" height="20"> (test blok alleen zichtbaar voor admin en mods)</td>
<td class="kwantum_td" height="20" width="80" align="center" colspan="2"><i>Totaal: ';
$select= "SELECT SUM(totaaluren) AS totaaluren FROM kw_rooster WHERE naam = '" . $naam['id']. "' AND jaarweek = '".$row['jaarweek']."'";
$query = mysql_query($select);
$result = mysql_fetch_assoc($query);
echo $result['totaaluren'];
print'</i></td>
</tr>
<tr>
<td class="kwantum_td" colspan="11" height="20"> </td>
</td>
</tr>';
}
}
print '<tr>
<td class="kwantum_td" colspan="2" height="20"> </td>
<td class="kwantum_td" height="20" width="40" align="center"> </td>
<td class="kwantum_td" height="20" width="40" align="center"> </td>
<td class="kwantum_td" height="20" width="40" align="center"> </td>
<td class="kwantum_td" height="20" width="40" align="center"> </td>
<td class="kwantum_td" height="20" width="40" align="center"> </td>
<td class="kwantum_td" height="20" width="40" align="center"> </td>
<td class="kwantum_td" height="20" width="40" align="center"> </td>
<td class="kwantum_td" height="20" width="40" align="center"> </td>
<td class="kwantum_td" height="20" width="40" align="center"> </td>
</tr>';
//einde rooster
print'
<tr>
<td class="kwantum_td" colspan="9" height="20"> </td>
<td class="kwantum_td" height="20" width="80" align="center" colspan="2">Totaal: ';
$select= "SELECT SUM(totaaluren) AS totaaluren FROM kw_rooster WHERE naam = '" . $naam['id']. "'";
$query = mysql_query($select);
$result = mysql_fetch_assoc($query);
echo $result['totaaluren'];
print'</td>
</tr>
<tr>
<td class="kwantum_td" colspan="11" height="20"> </td>
</td>
</tr>';
}
//einde optelling
print '<tr class="kwantum_td_title">
<td colspan="11" height="20"> Opmerkingen</td>
</tr>
<tr>
<td colspan="11" height="20"><br>';
if($status == "1"||$status == "2"){
print ''.$naam['opmerkingen'].'';
}
print' <br><br></td>
</tr>
</table></form> ?>
echo '<h1>Persoonlijk rooster: '.$naam.'</h1>';
echo '<a href=rooster.php>Week rooster</a> |';
$query = mysql_query("SELECT * FROM `kw_personeel` WHERE id='".$_GET['id']."'");
$row = mysql_fetch_array($query);
print "
<a href=\"javascript:void(null)\" target=\"_self\" onClick=\"window.open('print_persoonlijk_rooster.php?id=".$row['id']."','1','height=400,width=600,adress=0,location=0,menubar=0,statusbar=0,locationbar=0,scrollbars=1,resizable=1');\">Print rooster</a>";
print'<br><br><form><table width="100%" class="kwantum_td">
<tr>
<td height="20"><b> </b></td>
<td height="20">';
if (isset($_GET['id']) && is_numeric($_GET['id'])) {
$naam = $_GET['id'];
} else {
$naam = '0';
}
print ' <select onchange="this.form.submit()" name="id" id="jaarweek" value="'.$result['naam'].'"/>';
$query = mysql_query("SELECT * FROM `kw_personeel` WHERE actief = 1 ORDER BY naam ASC") or die (mysql_error());
while($result = mysql_fetch_assoc($query)){
print '<option value="'.$result['id'].'"' . ($naam == $result['id'] ? ' selected="selected"' : '') . '>'.$result['naam'].'
</option>';
}
print'</select></td>
<td class="kwantum_td" height="20" width="40"><b> Ctr</b></td>
<td class="kwantum_td" height="20" width="40"><b> Ma</b></td>
<td class="kwantum_td" height="20" width="40"><b> Di</b></td>
<td class="kwantum_td" height="20" width="40"><b> Wo</b></td>
<td class="kwantum_td" height="20" width="40"><b> Do</b></td>
<td class="kwantum_td" height="20" width="40"><b> Vri</b></td>
<td class="kwantum_td" height="20" width="40"><b> Za</b></td>
<td class="kwantum_td" height="20" width="40"><b> Zo</b></td>
<td class="kwantum_td" height="20" width="40"><b> Uren</b></td>
</tr>';
print '<tr>
<td class="kwantum_td" colspan="2" height="20" width="40"> </td>
<td class="kwantum_td" height="20" width="40"> '.isset($result1['maandag']).'</td>
<td class="kwantum_td" height="20" width="40"> '.isset($result1['dinsdag']).'</td>
<td class="kwantum_td" height="20" width="40"> '.isset($result1['woensdag']).'</td>
<td class="kwantum_td" height="20" width="40"> '.isset($result1['donderdag']).'</td>
<td class="kwantum_td" height="20" width="40"> '.isset($result1['vrijdag']).'</td>
<td class="kwantum_td" height="20" width="40"> '.isset($result1['zaterdag']).'</td>
<td class="kwantum_td" height="20" width="40"> '.isset($result1['zondag']).'</td>
<td class="kwantum_td" height="20" width="40"> </td>
</tr>';
//afdeling en namen hier
$query = mysql_query("SELECT * FROM `kw_personeel` WHERE id='".$_GET['id']."'");
$row = mysql_fetch_array($query);
print '<tr class="kwantum_td_title">
<td colspan="11" height="20"> Week - Jaar</td>
</tr> ';
function weekToweek($date)
{
$week = substr($date, 2);
$jaar = date('Y', mktime(0, 0, 0, 1, 1, substr($date, 0, 2)));
return 'week ' . $week . ' - ' . $jaar;
}
if($status == "1"||$status == "2"){
$query2 = mysql_query("SELECT * FROM kw_rooster WHERE naam = '" . $naam . "' ORDER BY jaarweek DESC") or die (mysql_error());
} else {
$query2 = mysql_query("SELECT DISTINCT kw_rooster.* FROM `kw_rooster` JOIN `kw_week` ON kw_rooster.jaarweek = kw_week.jaarweek WHERE kw_week.actief = 1 AND kw_rooster.naam = '" . $naam . "' ORDER BY kw_rooster.jaarweek DESC");
}
while($row = mysql_fetch_assoc($query2)){
$qu = mysql_query("SELECT * FROM `kw_week` WHERE jaarweek ='".$row['jaarweek']."'");
$week = mysql_fetch_array($qu);
$qu = mysql_query("SELECT * FROM `kw_personeel` WHERE id ='".$row['naam']."'");
$naam = mysql_fetch_array($qu);
print ' <tr>
<td class="kwantum_td" height="20" colspan="2"> ';
if($status == "1"||$status == "2"){
print'<a href="maak_rooster.php?actie=lees&id='.$row['id'].'">';
}
else {
print '<a href="rooster.php?jaarweek='.$row['jaarweek'].'">';
}
print''.weekToweek($week['jaarweek']).'</a>';
print '</td>
<td class="kwantum_td" height="20" width="40" align="center">'.$naam['contract'].'</td>
<td class="kwantum_td" height="20" width="40" align="center">'.$row['maandag'].'</td>
<td class="kwantum_td" height="20" width="40" align="center">'.$row['dinsdag'].'</td>
<td class="kwantum_td" height="20" width="40" align="center">'.$row['woensdag'].'</td>
<td class="kwantum_td" height="20" width="40" align="center">'.$row['donderdag'].'</td>
<td class="kwantum_td" height="20" width="40" align="center">'.$row['vrijdag'].'</td>
<td class="kwantum_td" height="20" width="40" align="center">'.$row['zaterdag'].'</td>
<td class="kwantum_td" height="20" width="40" align="center">'.$row['zondag'].'</td>
<td class="kwantum_td" height="20" width="40" align="center">'.$row['totaaluren'].'</td>
</tr>';
if($status == "1"||$status == "2"){
//totalen
print'
<tr>
<td class="kwantum_td" colspan="9" height="20"> (test blok alleen zichtbaar voor admin en mods)</td>
<td class="kwantum_td" height="20" width="80" align="center" colspan="2"><i>Totaal: ';
$select= "SELECT SUM(totaaluren) AS totaaluren FROM kw_rooster WHERE naam = '" . $naam['id']. "' AND jaarweek = '".$row['jaarweek']."'";
$query = mysql_query($select);
$result = mysql_fetch_assoc($query);
echo $result['totaaluren'];
print'</i></td>
</tr>
<tr>
<td class="kwantum_td" colspan="11" height="20"> </td>
</td>
</tr>';
}
}
print '<tr>
<td class="kwantum_td" colspan="2" height="20"> </td>
<td class="kwantum_td" height="20" width="40" align="center"> </td>
<td class="kwantum_td" height="20" width="40" align="center"> </td>
<td class="kwantum_td" height="20" width="40" align="center"> </td>
<td class="kwantum_td" height="20" width="40" align="center"> </td>
<td class="kwantum_td" height="20" width="40" align="center"> </td>
<td class="kwantum_td" height="20" width="40" align="center"> </td>
<td class="kwantum_td" height="20" width="40" align="center"> </td>
<td class="kwantum_td" height="20" width="40" align="center"> </td>
<td class="kwantum_td" height="20" width="40" align="center"> </td>
</tr>';
//einde rooster
print'
<tr>
<td class="kwantum_td" colspan="9" height="20"> </td>
<td class="kwantum_td" height="20" width="80" align="center" colspan="2">Totaal: ';
$select= "SELECT SUM(totaaluren) AS totaaluren FROM kw_rooster WHERE naam = '" . $naam['id']. "'";
$query = mysql_query($select);
$result = mysql_fetch_assoc($query);
echo $result['totaaluren'];
print'</td>
</tr>
<tr>
<td class="kwantum_td" colspan="11" height="20"> </td>
</td>
</tr>';
}
//einde optelling
print '<tr class="kwantum_td_title">
<td colspan="11" height="20"> Opmerkingen</td>
</tr>
<tr>
<td colspan="11" height="20"><br>';
if($status == "1"||$status == "2"){
print ''.$naam['opmerkingen'].'';
}
print' <br><br></td>
</tr>
</table></form> ?>
Gewijzigd op 01/01/1970 01:00:00 door Alexander
Code (php)
Deze dan met een foreach in een foreach doorlopen, et voila : ).
perioden
-----------
id INT
start DATE
end DATE
Op deze manier kun je per periode een begin en einddatum aangeven en periodes wijzigen en verwijderen.
Vervolgens kun je aan de hand van deze datums en de andere gegevens over het rooster uit je database bepalen welke dagen in welke periode vallen.
Voor die periodes en met die arrays houd tie zelf rekening mee de aantal weken in een jaar ? Ik heb zelf vrij weinig ervaring met array's (A)
date() die het aantal weken in een jaar op kan halen. Misschien met dat + wat automatisme er een mooie array uit komt rollen?
Al zou ik dan toch voor de database optie gaan. Dit alleen niet met data doen, maar met weeknummers.
Natuurlijk niet. Maar er bestaat een optie bij Al zou ik dan toch voor de database optie gaan. Dit alleen niet met data doen, maar met weeknummers.
Misschien heb je er wat aan als ik meld dat de weken worden ook al handmatig ingevoerd, waarbij we de week bestaande hebben uit jaar - week dus 0810.. misschien zijn hier nog opties voor?
kan ik dan misschien niet beter zeggen dat bij het invoeren van een week de periode nummers worden toegschreven in de db uit DB date()? met week nummers?
Gewijzigd op 01/01/1970 01:00:00 door Alexander
Met arrays kom ik niet ver mee tot nu toe, of iemand meot een goed voorbeeld hebben waar ik in mijn situatie het kan gebruiken. ene kant lijkt het me simpel maar kan me tot nu toe niet echt iets vinden met daarop wat ik wil.