[PHP] Rooster uitfilteren.
Hee Hallo!
Ik zit met een klein vraagje. Ik heb namelijk een Rooster script gemaakt, dat gebruikers de mogelijkheid geeft om een uur te kiezen per dag. Nu is mijn vraag, hoe kan ik die keuze limiteren tot maximaal 2 uren per dag?
Ik wilde dit ook doen via een cronjob, maar ik zat een beetje in verwarring over hoe ik dat moest gaan doen.
In het vervolg php-code tussen de tags zetten. [/modedit]
Ik zit met een klein vraagje. Ik heb namelijk een Rooster script gemaakt, dat gebruikers de mogelijkheid geeft om een uur te kiezen per dag. Nu is mijn vraag, hoe kan ik die keuze limiteren tot maximaal 2 uren per dag?
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
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
<?php
$dezeweek = date('W');
echo' </div>
<div class="bot"></div>
<div class="blacktop">Deze Week ('.$dezeweek.')</div>
<div class="mid">';
$weelie = array( 1 => 'Maandag',
2 => 'Dinsdag',
3 => 'Woensdag',
4 => 'Donderdag',
5 => 'Vrijdag',
6 => 'Zaterdag',
7 => 'Zondag');
if($_POST['dezeweek']){
for($o = 1; $o < 8; $o++){
for($i = 7; $i < 25; $i++){
if($i < '10'){
$tijdstip = '0'.$i;
}else{
$tijdstip = $i;
}
$postgeval = $tijdstip.'_'.$dezeweek.'_'.strtolower(substr($weelie[$o], 0, 2));
list($tijd, $week, $dagcode) = split('_', $postgeval);
$sqlid = mysql_query("SELECT id FROM gebruikers WHERE id = '".$_SESSION['id']."'") or die(mysql_error());
$memberid = mysql_fetch_row($sqlid);
$gevuld = mysql_query("SELECT id FROM rooster WHERE tijd = '".$tijd."' AND week = '".$week."' AND dagcode = '".$dagcode."'") or die(mysql_error());
if(mysql_num_rows($sqlid) == '0' && $_POST[$postgeval]){
$jippie = '0';
echo "<b>Fout!</b> - Er is iets fout gegaan met het inplannen van het uurtje op <b>".$weelie[$o]."</b> om <b>".$tijd.":00</b> uur.<br>";
}else{
if($_POST[$postgeval]){
if(mysql_num_rows($gevuld) > '0'){
echo"<b>Fout!</b> - Er draait al een DJ op <b>".$weelie[$o]."</b> om <b>".$tijd.":00</b> uur.<br>";
}else{
mysql_query("INSERT INTO rooster (dj,tijd,dagcode,week,status) VALUES ('".$memberid[0]."','".$tijd."','".$dagcode."','".$week."','1')") or die(mysql_error());
}
}
}
}
}
if($jippie != '0'){
echo '<b>Gelukt!</b><br>Je hebt er weer een paar uurtjes bij gekregen.';
}
}else{
echo'<form action="" method="post">';
for($o = 1; $o < 8; $o++){
echo '<table border="0" cellpadding="2" cellspacing="2" style="border-collapse:collapse;" align="left" width="25%">';
echo '<tr><td colspan="2"><b>'.$weelie[$o].'</b><hr></td></tr>';
for($i = 7; $i < 25; $i++){
if($i < '10'){
$tijd = '0'.$i;
}else{
$tijd = $i;
}
$sqlrooster = mysql_query("SELECT dj FROM rooster WHERE status = '1' AND dagcode = '".strtolower(substr($weelie[$o], 0, 2))."' AND week = '".$dezeweek."' AND tijd = '".$tijd."' ORDER BY tijd ASC") or die(mysql_error());
$rowrooster = mysql_fetch_row($sqlrooster);
$sqlname = mysql_query("SELECT gebruikersnaam FROM gebruikers WHERE id = '".$rowrooster[0]."'") or die(mysql_error());
$rowname = mysql_fetch_row($sqlname);
if(mysql_num_rows($sqlrooster) > '0'){
$space = 'jail';
}else{
$space = 'free';
}
echo '<tr>';
if($space == 'jail'){
echo'<td align="left" valign="top"><br></td>';
}else{
echo'<td align="right" valign="top" width="1%"><input id="'.$space.'" type="checkbox" value="1" name="'.$tijd.'_'.$dezeweek.'_'.strtolower(substr($weelie[$o], 0, 2)).'" style="width:95%"> </td>';
echo'<td align="left" valign="top" width="20%"><b>'.$tijd.':00</b></td>';
}
echo' </tr>';
}
echo'</table>';
if($o%4 == '0'){
echo'<div style="clear:both;"></div><br><br>';
}
}
echo'<div style="clear:both;"></div><br><br>';
echo'<input type="submit" name="dezeweek" value="Ik wil me inroosteren.">';
echo'</form>';
}
?>
$dezeweek = date('W');
echo' </div>
<div class="bot"></div>
<div class="blacktop">Deze Week ('.$dezeweek.')</div>
<div class="mid">';
$weelie = array( 1 => 'Maandag',
2 => 'Dinsdag',
3 => 'Woensdag',
4 => 'Donderdag',
5 => 'Vrijdag',
6 => 'Zaterdag',
7 => 'Zondag');
if($_POST['dezeweek']){
for($o = 1; $o < 8; $o++){
for($i = 7; $i < 25; $i++){
if($i < '10'){
$tijdstip = '0'.$i;
}else{
$tijdstip = $i;
}
$postgeval = $tijdstip.'_'.$dezeweek.'_'.strtolower(substr($weelie[$o], 0, 2));
list($tijd, $week, $dagcode) = split('_', $postgeval);
$sqlid = mysql_query("SELECT id FROM gebruikers WHERE id = '".$_SESSION['id']."'") or die(mysql_error());
$memberid = mysql_fetch_row($sqlid);
$gevuld = mysql_query("SELECT id FROM rooster WHERE tijd = '".$tijd."' AND week = '".$week."' AND dagcode = '".$dagcode."'") or die(mysql_error());
if(mysql_num_rows($sqlid) == '0' && $_POST[$postgeval]){
$jippie = '0';
echo "<b>Fout!</b> - Er is iets fout gegaan met het inplannen van het uurtje op <b>".$weelie[$o]."</b> om <b>".$tijd.":00</b> uur.<br>";
}else{
if($_POST[$postgeval]){
if(mysql_num_rows($gevuld) > '0'){
echo"<b>Fout!</b> - Er draait al een DJ op <b>".$weelie[$o]."</b> om <b>".$tijd.":00</b> uur.<br>";
}else{
mysql_query("INSERT INTO rooster (dj,tijd,dagcode,week,status) VALUES ('".$memberid[0]."','".$tijd."','".$dagcode."','".$week."','1')") or die(mysql_error());
}
}
}
}
}
if($jippie != '0'){
echo '<b>Gelukt!</b><br>Je hebt er weer een paar uurtjes bij gekregen.';
}
}else{
echo'<form action="" method="post">';
for($o = 1; $o < 8; $o++){
echo '<table border="0" cellpadding="2" cellspacing="2" style="border-collapse:collapse;" align="left" width="25%">';
echo '<tr><td colspan="2"><b>'.$weelie[$o].'</b><hr></td></tr>';
for($i = 7; $i < 25; $i++){
if($i < '10'){
$tijd = '0'.$i;
}else{
$tijd = $i;
}
$sqlrooster = mysql_query("SELECT dj FROM rooster WHERE status = '1' AND dagcode = '".strtolower(substr($weelie[$o], 0, 2))."' AND week = '".$dezeweek."' AND tijd = '".$tijd."' ORDER BY tijd ASC") or die(mysql_error());
$rowrooster = mysql_fetch_row($sqlrooster);
$sqlname = mysql_query("SELECT gebruikersnaam FROM gebruikers WHERE id = '".$rowrooster[0]."'") or die(mysql_error());
$rowname = mysql_fetch_row($sqlname);
if(mysql_num_rows($sqlrooster) > '0'){
$space = 'jail';
}else{
$space = 'free';
}
echo '<tr>';
if($space == 'jail'){
echo'<td align="left" valign="top"><br></td>';
}else{
echo'<td align="right" valign="top" width="1%"><input id="'.$space.'" type="checkbox" value="1" name="'.$tijd.'_'.$dezeweek.'_'.strtolower(substr($weelie[$o], 0, 2)).'" style="width:95%"> </td>';
echo'<td align="left" valign="top" width="20%"><b>'.$tijd.':00</b></td>';
}
echo' </tr>';
}
echo'</table>';
if($o%4 == '0'){
echo'<div style="clear:both;"></div><br><br>';
}
}
echo'<div style="clear:both;"></div><br><br>';
echo'<input type="submit" name="dezeweek" value="Ik wil me inroosteren.">';
echo'</form>';
}
?>
Ik wilde dit ook doen via een cronjob, maar ik zat een beetje in verwarring over hoe ik dat moest gaan doen.
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$sql_win = mysql_query("SELECT id FROM rooster GROUP BY dj, dagcode, week ORDER BY id DESC") or die(mysql_error());
if(mysql_num_rows($sql_win) > '0'){
while($row_win = mysql_fetch_row($sql_win)){
mysql_query("DELETE FROM rooster WHERE id = '".$row_win[0]."'") or die(mysql_error());
}
}
?>
$sql_win = mysql_query("SELECT id FROM rooster GROUP BY dj, dagcode, week ORDER BY id DESC") or die(mysql_error());
if(mysql_num_rows($sql_win) > '0'){
while($row_win = mysql_fetch_row($sql_win)){
mysql_query("DELETE FROM rooster WHERE id = '".$row_win[0]."'") or die(mysql_error());
}
}
?>
In het vervolg php-code tussen de tags zetten. [/modedit]
Gewijzigd op 15/08/2010 12:16:47 door Justin S
Kun je wat meer uitleg geven? en je code tussen <?php en ?> tags zetten?
In het simpelste geval:
In het simpelste geval:
Wel jammer dat het iets ingewikkelder ligt volgens mij.
Ik heb een lijst met selectievakjes en daarnaast tijden. Waarbij DJ's aan kunnen vinken welke tijden ze willen hebben. Nu is mijn punt, dat een DJ niet meer dan 2 uur per dag zou kunnen inplannen. Ik zit zelf in de knoop omdat ik de mysql en vakjes met de functie for() uitvoer. Dus, 7 dagen waarin de tijden van 7-24 oplopen. En hoe kan ik dan nu zien, als ik mijn forum submit, wanneer ik meer als 2 uur heb aangevinkt?
Ik heb een lijst met selectievakjes en daarnaast tijden. Waarbij DJ's aan kunnen vinken welke tijden ze willen hebben. Nu is mijn punt, dat een DJ niet meer dan 2 uur per dag zou kunnen inplannen. Ik zit zelf in de knoop omdat ik de mysql en vakjes met de functie for() uitvoer. Dus, 7 dagen waarin de tijden van 7-24 oplopen. En hoe kan ik dan nu zien, als ik mijn forum submit, wanneer ik meer als 2 uur heb aangevinkt?
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
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
<?php
for($o = 1; $o < 8; $o++){
for($i = 7; $i < 25; $i++){
if($i < '10'){
$tijdstip = '0'.$i;
}else{
$tijdstip = $i;
}
$postgeval = $tijdstip.'_'.$dezeweek.'_'.strtolower(substr($weelie[$o], 0, 2));
list($tijd, $week, $dagcode) = split('_', $postgeval);
$sqlid = mysql_query("SELECT id FROM gebruikers WHERE id = '".$_SESSION['id']."'") or die(mysql_error());
$memberid = mysql_fetch_row($sqlid);
$gevuld = mysql_query("SELECT id FROM rooster WHERE status > '0' AND tijd = '".$tijd."' AND week = '".$week."' AND dagcode = '".$dagcode."'") or die(mysql_error());
if(mysql_num_rows($sqlid) == '0' && $_POST[$postgeval]){
$jippie = '0';
echo "<b>Fout!</b> - Er is iets fout gegaan met het inplannen van het uurtje op <b>".$weelie[$o]."</b> om <b>".$tijd.":00</b> uur.<br>";
}else{
if($_POST[$postgeval]){
if(mysql_num_rows($gevuld) > '0'){
echo"<b>Fout!</b> - Er draait al een DJ op <b>".$weelie[$o]."</b> om <b>".$tijd.":00</b> uur.<br>";
}else{
mysql_query("INSERT INTO rooster (dj,tijd,dagcode,week,jaar,status) VALUES ('".$memberid[0]."','".$tijd."','".$dagcode."','".$week."','".date('Y')."','1')") or die(mysql_error());
}
}
}
}
}
?>
for($o = 1; $o < 8; $o++){
for($i = 7; $i < 25; $i++){
if($i < '10'){
$tijdstip = '0'.$i;
}else{
$tijdstip = $i;
}
$postgeval = $tijdstip.'_'.$dezeweek.'_'.strtolower(substr($weelie[$o], 0, 2));
list($tijd, $week, $dagcode) = split('_', $postgeval);
$sqlid = mysql_query("SELECT id FROM gebruikers WHERE id = '".$_SESSION['id']."'") or die(mysql_error());
$memberid = mysql_fetch_row($sqlid);
$gevuld = mysql_query("SELECT id FROM rooster WHERE status > '0' AND tijd = '".$tijd."' AND week = '".$week."' AND dagcode = '".$dagcode."'") or die(mysql_error());
if(mysql_num_rows($sqlid) == '0' && $_POST[$postgeval]){
$jippie = '0';
echo "<b>Fout!</b> - Er is iets fout gegaan met het inplannen van het uurtje op <b>".$weelie[$o]."</b> om <b>".$tijd.":00</b> uur.<br>";
}else{
if($_POST[$postgeval]){
if(mysql_num_rows($gevuld) > '0'){
echo"<b>Fout!</b> - Er draait al een DJ op <b>".$weelie[$o]."</b> om <b>".$tijd.":00</b> uur.<br>";
}else{
mysql_query("INSERT INTO rooster (dj,tijd,dagcode,week,jaar,status) VALUES ('".$memberid[0]."','".$tijd."','".$dagcode."','".$week."','".date('Y')."','1')") or die(mysql_error());
}
}
}
}
}
?>




