Optellen van verschillen
Ik heb geen idee hoe ik aan het volgende moet beginnen.
Er zijn 2 select velden, waarin 2 tijden ingevuld dienen te worden.
Echter nu wil ik ervoor zorgen dat het verschil tussen die 2 tijden maar maximaal 92 uur mag zijn. (gedurende een week)
Alleen heb ik geen idee hoe ik hier aan moet beginnen.
Hier de code:
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
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
<form method="POST" action="?p=openingstijden">
<table width="100%">
<tr>
<td><strong>Dag</strong></td>
<td><strong>Geopend vanaf</strong></td>
<td><strong>Gesloten om</strong></td>
</tr>
<?php
for ($i = 1; $i <= 7; $i++) {
?>
<tr>
<td width="40%">
<?php
if($i == '1'){
echo'Maandag';
}elseif($i == '2'){
echo'Dinsdag';
}elseif($i == '3'){
echo'Woensdag';
}elseif($i == '4'){
echo'Donderdag';
}elseif($i == '5'){
echo'Vrijdag';
}elseif($i == '6'){
echo'Zaterdag';
}elseif($i == '7'){
echo'Zondag';
}else{
echo'Onbekend';
}
?>
</td>
<td width="30%">
<select name = "open">
<?php
for ($open = 8; $open <= 22; $open++) {
?>
<option value="<?php echo $open; ?>"><?php echo $open; ?>:00</option>
<?php
}
?>
</select> uur
</td>
<td width="30%">
<select name = "closed">
<?php
for ($closed = 8; $closed <= 22; $closed++) {
?>
<option value="<?php echo $closed; ?>"><?php echo $closed; ?>:00</option>
<?php
}
?>
</select> uur
</td>
</tr>
<?php
}
?>
<tr>
<td><input type="submit" value="Bevestig openingstijden" name="confirm"></td>
</tr>
</table>
</form>
<table width="100%">
<tr>
<td><strong>Dag</strong></td>
<td><strong>Geopend vanaf</strong></td>
<td><strong>Gesloten om</strong></td>
</tr>
<?php
for ($i = 1; $i <= 7; $i++) {
?>
<tr>
<td width="40%">
<?php
if($i == '1'){
echo'Maandag';
}elseif($i == '2'){
echo'Dinsdag';
}elseif($i == '3'){
echo'Woensdag';
}elseif($i == '4'){
echo'Donderdag';
}elseif($i == '5'){
echo'Vrijdag';
}elseif($i == '6'){
echo'Zaterdag';
}elseif($i == '7'){
echo'Zondag';
}else{
echo'Onbekend';
}
?>
</td>
<td width="30%">
<select name = "open">
<?php
for ($open = 8; $open <= 22; $open++) {
?>
<option value="<?php echo $open; ?>"><?php echo $open; ?>:00</option>
<?php
}
?>
</select> uur
</td>
<td width="30%">
<select name = "closed">
<?php
for ($closed = 8; $closed <= 22; $closed++) {
?>
<option value="<?php echo $closed; ?>"><?php echo $closed; ?>:00</option>
<?php
}
?>
</select> uur
</td>
</tr>
<?php
}
?>
<tr>
<td><input type="submit" value="Bevestig openingstijden" name="confirm"></td>
</tr>
</table>
</form>
Alvast bedankt.
Rick kem op 19/06/2013 14:49:52:
Er zijn 2 select velden, waarin 2 tijden ingevuld dienen te worden.
Er zijn per dag 2 select-velden is 14 in totaal (geen 2). Per select-veld kun je maar 1 tijd invullen.
Rick kem op 19/06/2013 14:49:52:
Echter nu wil ik ervoor zorgen dat het verschil tussen die 2 tijden maar maximaal 92 uur mag zijn. (gedurende een week)
Welke 2?
Een dag heeft 24 uur. Wat bedoel je met 92?
Gewijzigd op 19/06/2013 15:11:45 door Obelix Idefix
Open
8 uur t/m 22 uur
Gesloten
8 uur t/m 22 uur
Zo ziet het eruit.
Dus de de tijd dat ze open zijn moet geteld worden
Bijv:
Open : 8 uur
Sluiten: 18 uur
Verschil : 10 uur
voor 1 dag lukt me dat wel, maar ik wil dat hij alle 7 de dagen (indien die ingevuld zijn) bij elkaar optelt.
En dat mag dan niet meer dan 92 uur zijn.
Ik hoop dat het nu duidelijk is.
Ik bump dit topic nog even, omdat het probleem nog niet opgelost is.
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
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
<form method="POST" action="?p=openingstijden">
<table width="100%">
<tr>
<td><strong>Dag</strong></td>
<td><strong>Geopend vanaf</strong></td>
<td><strong>Gesloten om</strong></td>
</tr>
<?php
for ($i = 1; $i <= 7; $i++) {
?>
<tr>
<td width="40%">
<?php
if($i == '1'){
echo'Maandag';
}elseif($i == '2'){
echo'Dinsdag';
}elseif($i == '3'){
echo'Woensdag';
}elseif($i == '4'){
echo'Donderdag';
}elseif($i == '5'){
echo'Vrijdag';
}elseif($i == '6'){
echo'Zaterdag';
}elseif($i == '7'){
echo'Zondag';
}else{
echo'Onbekend';
}
?>
</td>
<td width="30%">
<select name = "open[]">
<?php
for ($open = 8; $open <= 22; $open++) {
?>
<option value="<?php echo $open; ?>"><?php echo $open; ?>:00</option>
<?php
}
?>
</select> uur
</td>
<td width="30%">
<select name = "closed[]">
<?php
for ($closed = 8; $closed <= 22; $closed++) {
?>
<option value="<?php echo $closed; ?>"><?php echo $closed; ?>:00</option>
<?php
}
?>
</select> uur
</td>
</tr>
<?php
}
?>
<tr>
<td><input type="submit" value="Bevestig openingstijden" name="confirm"></td>
</tr>
</table>
</form>
<table width="100%">
<tr>
<td><strong>Dag</strong></td>
<td><strong>Geopend vanaf</strong></td>
<td><strong>Gesloten om</strong></td>
</tr>
<?php
for ($i = 1; $i <= 7; $i++) {
?>
<tr>
<td width="40%">
<?php
if($i == '1'){
echo'Maandag';
}elseif($i == '2'){
echo'Dinsdag';
}elseif($i == '3'){
echo'Woensdag';
}elseif($i == '4'){
echo'Donderdag';
}elseif($i == '5'){
echo'Vrijdag';
}elseif($i == '6'){
echo'Zaterdag';
}elseif($i == '7'){
echo'Zondag';
}else{
echo'Onbekend';
}
?>
</td>
<td width="30%">
<select name = "open[]">
<?php
for ($open = 8; $open <= 22; $open++) {
?>
<option value="<?php echo $open; ?>"><?php echo $open; ?>:00</option>
<?php
}
?>
</select> uur
</td>
<td width="30%">
<select name = "closed[]">
<?php
for ($closed = 8; $closed <= 22; $closed++) {
?>
<option value="<?php echo $closed; ?>"><?php echo $closed; ?>:00</option>
<?php
}
?>
</select> uur
</td>
</tr>
<?php
}
?>
<tr>
<td><input type="submit" value="Bevestig openingstijden" name="confirm"></td>
</tr>
</table>
</form>
Let op het verschil bij de select names.
en dan in je PHP:
Voorbeeld:
Maandag 8 uur 18 uur 10 uur
Dinsdag 8 uur 18 uur 10 uur
Woensdag 8 uur 18 uur 10 uur
Donderdag 8 uur 20 uur 12 uur
Vrijdag 8 uur 18 uur 10 uur
Zaterdag 8 uur 18 uur 10 uur
Zondag 8 uur 14 uur 8 uur
$Totaal 70 uur
if($totaal > 92){
echo'Je bent meer dan 92 uur open';
}else{
// de rest van de query
}
Dit is wat ik bedoel.
dus:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$sluitingstijden = $_POST['closed']; //array(18,18,18,20,18,18,14);
$openingstijden = $_POST['open']; //array(8,8,8,8,8,8,8);
$totale_sluitingstijd = array_sum($_POST['closed']); //18+18+18+20+18+18+14 = 124
$totale_openingstijd = array_sum($_POST['open']); //8+8+8+8+8+8+8 = 56
$totaal = $totale_sluitingstijd-$totale_openingstijd; //124-56 = 68(wat afwijkt van jouw totaal(wat volgens mij niet klopt omdat bij de laatste tijd 14-8 geen 8 is)
if($totaal > 92){
echo'Je bent meer dan 92 uur open';
}else{
// de rest van de query
}
}
?>
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$sluitingstijden = $_POST['closed']; //array(18,18,18,20,18,18,14);
$openingstijden = $_POST['open']; //array(8,8,8,8,8,8,8);
$totale_sluitingstijd = array_sum($_POST['closed']); //18+18+18+20+18+18+14 = 124
$totale_openingstijd = array_sum($_POST['open']); //8+8+8+8+8+8+8 = 56
$totaal = $totale_sluitingstijd-$totale_openingstijd; //124-56 = 68(wat afwijkt van jouw totaal(wat volgens mij niet klopt omdat bij de laatste tijd 14-8 geen 8 is)
if($totaal > 92){
echo'Je bent meer dan 92 uur open';
}else{
// de rest van de query
}
}
?>
maar dan op één regel:
Code (php)
je kan het ook één voor één doen:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$sluitingstijden = $_POST['closed'];
$openingstijden = $_POST['open'];
$verschiltijden = array();
for($i=0;$i<7;$i++) {
$verschiltijden[] = $sluitingstijden[$i]-$openingstijden[$i];
}
$totaal = array_sum($verschiltijden);
if($totaal > 92){
echo'Je bent meer dan 92 uur open';
}else{
// de rest van de query
}
}
?>
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$sluitingstijden = $_POST['closed'];
$openingstijden = $_POST['open'];
$verschiltijden = array();
for($i=0;$i<7;$i++) {
$verschiltijden[] = $sluitingstijden[$i]-$openingstijden[$i];
}
$totaal = array_sum($verschiltijden);
if($totaal > 92){
echo'Je bent meer dan 92 uur open';
}else{
// de rest van de query
}
}
?>
Gewijzigd op 23/06/2013 16:12:35 door Bo Ter Ham