Versio

Cijfer berekenen, probleempje..

Overzicht Reageren

Lars Groot

Lars Groot

25/10/2009 20:19:00
Quote Anchor link
Hallo, ik heb het volgende scriptje geschreven, voor het berekenen van een cijfer:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
if($row2['vraag1'] != ""){
$aantal = $aantal+1;
if($vraag1a == $vraag1b){
$goed = $goed+1;
}
}

if($row2['vraag2'] != ""){
$aantal = $aantal+1;
if($vraag2a == $vraag2b){
$goed = $goed+1;
}
}

if($row2['vraag3'] != ""){
$aantal = $aantal+1;
if($vraag3a == $vraag3b){
$goed = $goed+1;
}
}

if($row2['vraag4'] != ""){
$aantal = $aantal+1;
if($vraag4a == $vraag4b){
$goed = $goed+1;
}
}

if($row2['vraag5'] != ""){
$aantal = $aantal+1;
if($vraag5a == $vraag5b){
$goed = $goed+1;
}
}

if($row2['vraag6'] != ""){
$aantal = $aantal+1;
if($vraag6a == $vraag61b){
$goed = $goed+1;
}
}

if($row2['vraag7'] != ""){
$aantal = $aantal+1;
if($vraag7a == $vraag7b){
$goed = $goed+1;
}
}

if($row2['vraag8'] != ""){
$aantal = $aantal+1;
if($vraag8a == $vraag8b){
$goed = $goed+1;
}
}

if($row2['vraag9'] != ""){
$aantal = $aantal+1;
if($vraag9a == $vraag9b){
$goed = $goed+1;
}
}

if($row2['vraag10'] != ""){
$aantal = $aantal+1;
if($vraag10a == $vraag10b){
$goed = $goed+1;
}
}

if($row2['vraag11'] != ""){
$aantal = $aantal+1;
if($vraag11a == $vraag11b){
$goed = $goed+1;
}
}

if($row2['vraag12'] != ""){
$aantal = $aantal+1;
if($vraag12a == $vraag12b){
$goed = $goed+1;
}
}

if($row2['vraag13'] != ""){
$aantal = $aantal+1;
if($vraag13a == $vraag13b){
$goed = $goed+1;
}
}

if($row2['vraag14'] != ""){
$aantal = $aantal+1;
if($vraag14a == $vraag14b){
$goed = $goed+1;
}
}

if($row2['vraag15'] != ""){
$aantal = $aantal+1;
if($vraag15a == $vraag15b){
$goed = $goed+1;
}
}

if($row2['vraag16'] != ""){
$aantal = $aantal+1;
if($vraag16a == $vraag16b){
$goed = $goed+1;
}
}

if($row2['vraag17'] != ""){
$aantal = $aantal+1;
if($vraag17a == $vraag17b){
$goed = $goed+1;
}
}

if($row2['vraag18'] != ""){
$aantal = $aantal+1;
if($vraag18a == $vraag18b){
$goed = $goed+1;
}
}

if($row2['vraag19'] != ""){
$aantal = $aantal+1;
if($vraag19a == $vraag19b){
$goed = $goed+1;
}
}

if($row2['vraag20'] != ""){
$aantal = $aantal+1;
if($vraag20a == $vraag20b){
$goed = $goed+1;
}
}

$goed = $goed+1;
$cijfer = $goed/$aantal*9+1;
$cijfer1 = number_format($cijfer, 1, '.', '');
?>

(alle variabelen kloppen!, er is nog meer code..)
maar, als ik twee vragen heb, en ik heb ze beide goed, dan heb ik een 14.5, terwijl dat een 10.0 zou moeten zijn...

Weet iemand waardoor dit komt, en het met me zou willen helpen oplossen?

Bedankt alvast!!

Lars
 
PHP hulp

PHP hulp

24/05/2012 00:43:39
Gesponsorde koppelingen:
 
- SanThe -

- SanThe -

25/10/2009 20:33:00
Quote Anchor link
Regel 122 moet weg.
Regel 123 moet dit zijn.
$cijfer = $goed/$aantal*10;
 
Jesper Diovo

Jesper Diovo

25/10/2009 20:45:00
Quote Anchor link
Je code kan korter:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
for($i=1;$i<=20;$i++) {
  if(isset($row2['vraag'.$i])) {
    $aantal += 1;
    if(${'vraag'.$i.'a'} == ${'vraag'.$i.'b'}) {
      $goed += 1;
    }
  }
}


$cijfer = $goed/$aantal*10;
$cijfer = number_format($cijfer, 1, '.', '');
?>


Wel even kijken of de syntaxis van ${'vraag'.$i.'a'} klopt...
Gewijzigd op 01/01/1970 01:00:00 door Jesper Diovo
 
Lars Groot

Lars Groot

25/10/2009 21:15:00
Quote Anchor link
Maar, als ik nu 2 vragen heb, waarvan 0 goed, dan heb ik een 0.0, en als ik ze beide goed heb, dan heb ik een 10.0....
Als je ze fout hebt, moet het een 1 zijn...
 
Karl Karl

Karl Karl

25/10/2009 21:23:00
Quote Anchor link
Dan zet je nog even op regel tien:
$goed = $goed+1;
 
- SanThe -

- SanThe -

25/10/2009 21:25:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$cijfer
= ($goed/$aantal*10) > 1 ? ($goed/$aantal*10) : 1;
?>
 
Lars Groot

Lars Groot

26/10/2009 16:45:00
Quote Anchor link
@ Karl, als je ze beide goed hebt word het een elf???

@SanThe, dit werkt!, dankje!!
 



Overzicht Reageren