Faire des annotations en fonction d'un critère

Résolu
LebeauPain Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
LebeauPain Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, voilà j me suis inspiré d'un tutoriel pour créer un simulateur de bulletin de notes scolaires que je veux intégrer sur mon projet. le hic se situe quand je veux qu'à chaque intervalle de notes pour chaque discipline, je puisse afficher une appréciation...

merci
<?php 
$matiere = ['Anglais','Français','Mathématiques','Sciences Physiques','S.V.T','Sport','Histoire & Géographie','Education Civique','Economie familiale'];
$coeff = [3,6,6,3,3,2,3,1,2];
$note = $_POST['note'];
$som_coeff = 0;
$totalpoint = 0;
for ($i=0; $i <=8 ; $i++) {
// code...
$som_coeff = $som_coeff + $coeff[$i];
$totalpoint = $totalpoint + $note[$i]*$coeff[$i];
$moyenne = round($totalpoint/$som_coeff,2 ) ;
}
?>

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Lycee Bac Aviation</title>
<link rel="stylesheet" href="Bull_Tableau.css">
<style type="">
table{
border-style:ridge ;
border-width: 2px;
border-color: black;
margin: 2% 50% 50% 30%;
}
h3{
box-shadow: 5px 5px 5px black;
text-align: center;
}
th {border: 2px solid orange;}
td {border: 30px solid orange; background: orange;}
</style>

</head>
<body>
<h3>SIMULATEUR DE BULLETINS DE NOTES SCOLAIRE</h3>
<form method="POST" action="#">
<table class = "tableau">
<tr><th>Matières</th><th>Notes</th><th>Coeffs</th><th>Points</th><th>Appréciations</th></tr>
<?php
foreach ($matiere as $key => $value) {
// code...
$point = ($note[$key]*$coeff[$key]);
echo '<tr><td>'.$value.'</td><td><input type = "number" name = "note[]" value = "'.$note[$key].'" max = 20 min = 0></td><td>'.$coeff[$key].'</td><td>'.$point.'</td><td>Passable</td></tr> ';

}


?>
<tr><th>TOTAL</th><th></th><th><?php echo $som_coeff;?></th><th><?php echo $totalpoint;?></th><th>Moyenne Trimestrielle<br><?php echo $moyenne?></th></tr>
<div><input type="submit" name="ENVOYER" value="Calculer"></div>
</table>
</form>
</body>
</html>


Configuration: Macintosh / Safari 13.1.3
A voir également:

5 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,


le hic se situe quand je veux qu'à chaque intervalle de notes pour chaque discipline, je puisse afficher une appréciation...

C'est à dire ?
Qu'as tu essayé ?
Sur quoi bloques tu exactement ?
Tu as des messages d'erreur ? Un souci de conception ? autre ?
0
LebeauPain Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
c'est à dire que j'ai voulu taper dans cette balise <td>Passable</td> ( qui se retrouve dans la fonction écho) les lignes de codes pour afficher les appréciations. du coup en rechargeant ma page, le navigateur affiche une page blanche.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Si tu ne nous montre pas le code que tu as essayé de faire on ne risque pas de trouver ce qui a bloqué...
0
LebeauPain Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour a tous! je cherche où dois-je mettre le code suivant pour qu'il s'affiche sur mon simulateur en fonction des notes saisies pour chaque discipline...

Merci...


<?php
	
	if($note[$i]>=10 && $note[$i]<12){
		echo 'Passable';
	}elseif ($note[$i]>=12 && $note[$i]<15 ) {
		 
		echo  'Assez Bien';
	}elseif ($note[$i]>=15 && $note[$i]<16) {
		 
		echo "Bien";

	}elseif ($note[$i]>=15 && $note[$i]<17)
	{
		echo "Très Bien";

	}elseif ($note[$i]>=17 && $note[$i]<=20) {

		echo 'Excellent';

	}elseif ($note[$i]>=8 && $note[$i]<10) {

		echo 'Insuffisant';

	} elseif ($note[$i]>=6 && $note[$i]<8) {

		echo 'Faible';
	}else {
		echo 'Très Faible';
	}
?>

0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Dans ton foreach

En gros

foreach ($matiere as $i => $value) {

  if ($note[$i] >= 17) {
    $niveau = 'Excellent';
  } elseif ($note[$i] == 16) {
    $niveau = "Très Bien";
  } elseif ($note[$i] == 15) {
    $niveau = "Bien";
  } elseif ($note[$i] >= 12) {
    $niveau = "Assez Bien";
  } elseif ($note[$i] >= 10) {
    $niveau = "Passable";
  } elseif ($note[$i] >= 8) {
    $niveau = "Insuffisant";
  } elseif ($note[$i] >= 6) {
    $niveau = "Faible";
  } else {
    $niveau = 'Très Faible';
  }

  // code...
  $point = ($note[$i] * $coeff[$i]);
  echo '<tr>
          <td>' . $value . '</td>
          <td><input type = "number" name = "note[]" value = "' . $note[$i] . '" max="20" min="0"></td>
          <td>' . $coeff[$key] . '</td>
          <td>' . $point . '</td>
          <td>'.$niveau.'</td>
        </tr> ';
}



par contre je suis étonné que tu aies deux variables .. une pour les notes .; et une pour les coef ..

Ne pourrais tu pas directement remonter ces deux informations dans ta requête SQL ( et y faire le calcul directement .. au lieu de le faire sensuite dans ton php ) ??



0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
LebeauPain Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
je n'ai pas un niveau aussi élevé que le tient... Mais je prends bonne note. Merci beaucoup..
0