Bonjour ,
J'ai une table note definie de cette manière :
Ce que je fait avec mon programme, c'est que je veux calculer la moy du module.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 CREATE TABLE note ( IdEtudiant VARCHAR(20) NOT NULL, NomModule VARCHAR(20) NOT NULL, NomFormation VARCHAR(20) NOT NULL, DateFormation INT NOT NULL, NumSemestre VARCHAR(5) NOT NULL, PRIMARY KEY(IdEtudiant,NomModule,NomFormation,DateFormation,NumSemestre), FOREIGN KEY (IdEtudiant) REFERENCES etudiant(IdEtudiant), FOREIGN KEY (NomModule,NomFormation,DateFormation,NumSemestre) REFERENCES modules(NomModule,NomFormation,DateFormation,NumSemestre), NoteExam float NOT NULL, NoteTp float NOT NULL, moy float NOT NULL );
Ma formule est moy=(1/3) *NoteTp+(2/3)*NoteExam.
Sachant que je ne suis pas obligé de rentrer une note de tp, je fais la distinction en différents cas.
Mon pb est que mon programme n'arrive pas à faire la distinction entre un champ vide et une note égale à zéro.
Si qq sait comment contourner le pb, merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 $noteExam=parseInt($_POST['NOTEEXAMEN']); $noteTP=parseInt($_POST['NOTETP']); //Calcul de la moyenne du module if ($noteExam==0 && $noteTP==0) { $moyennne=0; } elseif (empty($noteTP)) { $moyennne=$noteExam; } elseif ($noteTP==0) //Pb à ce niveau là { $moyennne=(2/3)*$noteExam; } elseif ($noteExam==0) { $moyennne=(1/3)*$noteTP; } else { $moyennne=(2/3)*$noteExam+(1/3)*$noteTP; }
Partager