Problème différenciation entre valeur null et zéro
Bonjour ,
J'ai une table note definie de cette manière :
Code:
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:
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;
} |