Bonjour ,

J'ai une table note definie de cette manière :

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 
);
Ce que je fait avec mon programme, c'est que je veux calculer la moy du module.
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;
}