Kom er niet uit met cijfers berekenen
-> bij l dan weer half punt erbij of H een half punt eraf. Het mag dus niet boven de 10 uitkomen
cijfer = ((score / maximum_score) * 8,5) + 1,5 waardoor het 7,45 is <- correct -> afgerond 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
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
<?php
// alleen als de REQUEST_METHOD 'POST' is
if($_SERVER['REQUEST_METHOD'] == "POST"){
$cijfers = array(); // lege array maken
if($_POST['maximum_score'] > 0){ // maximum score moet hoger dan 0 zijn
// door de ingevulde scores heen lopen
foreach($_POST['score'] AS $id => $score){
if(trim($score) !== '' AND isset($_POST['niveau'][$id])){ //float($score) > 0 AND
// bepalen hoeveel er extra bij moet komen
if($_POST['niveau'][$id] == 'L'){ $extra = 0.5; }
elseif($_POST['niveau'][$id] == 'H'){ $extra = -0.5; }
else{ $extra = 0; }
// de cijfer berekening formule
$cijfers[$id] = round(((($score/$_POST['maximum_score']) * 8.5) + 1.5 + $extra),1);
// als cijfer boven de 10 uit zou komen, terug op 10 zetten
if($cijfers[$id] > 10){
$cijfers[$id] = 10;
}
}
}
}
}
?>
<!DOCTYPE html>
<html>
<body>
<form method="post">
<label for="maximum_score">Maximum score:</label>
<input type="number" id="maximum_score" name="maximum_score" <?php if(isset($_POST['maximum_score'])){ echo 'value="'.$_POST['maximum_score'].'"'; } ?>>
<table>
<tr>
<th>Nr</th>
<th>Naam</th>
<th>Score</th>
<th>Niveau</th>
<th>Cijfer</th>
</tr>
<?php
// aantal deelnemers
$aantal = 4;
for($i = 1; $i <= $aantal; $i++){
echo '<tr>
<td>'.$i.'</td>
<td><input type="text" name="naam['.$i.']" '.(isset($_POST['naam'][$i]) ? 'value="'.$_POST['naam'][$i].'"' : '').'></td>
<td><input type="number" name="score['.$i.']" '.(isset($_POST['score'][$i]) ? 'value="'.$_POST['score'][$i].'"' : '').'></td>
<td>
<input type="radio" name="niveau['.$i.']" value="L" '.((isset($_POST['niveau'][$i]) AND $_POST['niveau'][$i] == 'L') ? 'checked="checked"' : '').'>L
<input type="radio" name="niveau['.$i.']" value="M" '.((isset($_POST['niveau'][$i]) AND $_POST['niveau'][$i] == 'M') ? 'checked="checked"' : '').'>M
<input type="radio" name="niveau['.$i.']" value="H" '.((isset($_POST['niveau'][$i]) AND $_POST['niveau'][$i] == 'H') ? 'checked="checked"' : '').'>H
</td>
<td>'.(isset($cijfers[$i]) ? $cijfers[$i] : '').'</td>
</tr>';
}
?>
</table>
<input type="submit" value="Klikkie klikkie">
</form>
</body>
</html>
// alleen als de REQUEST_METHOD 'POST' is
if($_SERVER['REQUEST_METHOD'] == "POST"){
$cijfers = array(); // lege array maken
if($_POST['maximum_score'] > 0){ // maximum score moet hoger dan 0 zijn
// door de ingevulde scores heen lopen
foreach($_POST['score'] AS $id => $score){
if(trim($score) !== '' AND isset($_POST['niveau'][$id])){ //float($score) > 0 AND
// bepalen hoeveel er extra bij moet komen
if($_POST['niveau'][$id] == 'L'){ $extra = 0.5; }
elseif($_POST['niveau'][$id] == 'H'){ $extra = -0.5; }
else{ $extra = 0; }
// de cijfer berekening formule
$cijfers[$id] = round(((($score/$_POST['maximum_score']) * 8.5) + 1.5 + $extra),1);
// als cijfer boven de 10 uit zou komen, terug op 10 zetten
if($cijfers[$id] > 10){
$cijfers[$id] = 10;
}
}
}
}
}
?>
<!DOCTYPE html>
<html>
<body>
<form method="post">
<label for="maximum_score">Maximum score:</label>
<input type="number" id="maximum_score" name="maximum_score" <?php if(isset($_POST['maximum_score'])){ echo 'value="'.$_POST['maximum_score'].'"'; } ?>>
<table>
<tr>
<th>Nr</th>
<th>Naam</th>
<th>Score</th>
<th>Niveau</th>
<th>Cijfer</th>
</tr>
<?php
// aantal deelnemers
$aantal = 4;
for($i = 1; $i <= $aantal; $i++){
echo '<tr>
<td>'.$i.'</td>
<td><input type="text" name="naam['.$i.']" '.(isset($_POST['naam'][$i]) ? 'value="'.$_POST['naam'][$i].'"' : '').'></td>
<td><input type="number" name="score['.$i.']" '.(isset($_POST['score'][$i]) ? 'value="'.$_POST['score'][$i].'"' : '').'></td>
<td>
<input type="radio" name="niveau['.$i.']" value="L" '.((isset($_POST['niveau'][$i]) AND $_POST['niveau'][$i] == 'L') ? 'checked="checked"' : '').'>L
<input type="radio" name="niveau['.$i.']" value="M" '.((isset($_POST['niveau'][$i]) AND $_POST['niveau'][$i] == 'M') ? 'checked="checked"' : '').'>M
<input type="radio" name="niveau['.$i.']" value="H" '.((isset($_POST['niveau'][$i]) AND $_POST['niveau'][$i] == 'H') ? 'checked="checked"' : '').'>H
</td>
<td>'.(isset($cijfers[$i]) ? $cijfers[$i] : '').'</td>
</tr>';
}
?>
</table>
<input type="submit" value="Klikkie klikkie">
</form>
</body>
</html>
Phphulp lijnt het niet helemaal netjes uit. Probeer het eens uit.
Gewijzigd op 13/06/2019 18:08:01 door Kirsten J