Bonjour tous,
Je reviens encore vers vous avec mon même bout de code avec lequel je galère depuis 2 jours.
En effet, je veux écrire des données dans une colonne C. Ces données sont issues du calcul avec des valeurs venant des colonnes A et B. J'illustre:

1) Je récupère les valeurs venant des colonnes A et B.

2) Je procèdes au calcul.

3) J'écris les valeurs résultant du calcul respectivement dans la colonne C, sur les mêmes lignes que les données de A et B.

Le problème est que c'est seulement la dernière valeur qui se répète sur toutes les lignes. J'ai suivi plusieurs suggestions sans succès.
Alors j'ai besoin de votre aimable aide.
Je mets le code et la capture de la BDD.

Merci

Le code:

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
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
<?php
 
/**
 * @author Love4All
 * @copyright 2016
 */
 
// Cette page est celle de configuration des emplois du temps des profs. Elle permet de configurer l'emploi du temps de chaque prof individuellement
include 'dbconnectAtribc.php';  // Fichier de connexion à la table des classes
include 'dbconnectAdmin.php';
header('Content-Type: text/html; charset=UTF-8');
 
// Récupération du nombre de notes pour le calcul des moyennes
// Récupération info notes
 
 
$note1 = isset($_POST['note1']) ? $_POST['note1']: NULL; // Pour que PHP ne prenne pas les entrées vides comme vide
$note2 = isset($_POST['note2']) ? $_POST['note2']: NULL;
$note3 = isset($_POST['note3']) ? $_POST['note3']: NULL;
$note4 = isset($_POST['note4']) ? $_POST['note4']: NULL;
 
 
 
 
// Récupération info devoirs
 
// Nombre de devoirs choisis
$ndev1 = isset($_POST['ndev1']) ? $_POST['ndev1']: NULL;
$ndev2 = isset($_POST['ndev2']) ? $_POST['ndev2']: NULL;
 
 
 
// Multiplier le nombre choisi par 2 ou non
$xdev2 = isset($_POST['xdev2']) ? $_POST['xdev2']: NULL;
 
 
// Récupération de la clase
$classe = isset($_POST['classe']) ? $_POST['classe']: NULL;
 
 
 
// Compter le nombre de lignes dans la table(pour la classe sélectionnée)
 
// Détection du nombre de notes sélectionné
$tabNote = array($note1, $note2, $note3, $note4);
$somNote = array_sum($tabNote);
 
echo '<br>';
 
// Détection du nombre de devoirs sélectonné
$tabXdev = array($ndev1, $ndev2);
$somXdev = array_sum($tabXdev);
 
 
 
// Compter l'effectif de la classe
 
$eff = "SELECT CLASSE FROM eleve WHERE CLASSE ='". $classe."'";
$resultat = $mysqli->query($eff);
$nblign = mysqli_num_rows($resultat);  // effectif de la classe sélectionnée
 
// La requête
 
$query = "SELECT INTERROS, INTERROS2, INTERROS3, INTERROS4, DEVOIRS, DEVOIRS2 FROM eleve WHERE CLASSE = '".$classe."'" ;
//les conditions de calcul selon les sélections
 
$result = $mysqli->query($query);
 
// Si une note et un devoirs x 2
$tour = 0;
$moyenne = array();
if($somNote == 1 AND $somXdev == 1 AND $xdev2 == 'xD2' ){
while ($row = $result->fetch_assoc() AND $tour < $nblign  ) {
 
    $moy = ($row['INTERROS'] + ($row['DEVOIRS'] * 2) )/3;
    $moyenne[] = number_format($moy,2);
 
  $tour++;  
 }
 for($i = 0; $i < $nblign;$i++ ){
 
$req = "UPDATE eleve 
SET MOYENNE = '$moyenne[$i]' WHERE CLASSE ='".mysqli_real_escape_string($mysqli, $classe)."'";
 
}
if(mysqli_query($mysqli, $req)){
 
    echo 'Enregistré avec succès';
 
} else{
 
    echo "ERROR: Could not able to execute $req. " . mysqli_error($mysqli);
 
}
 
 
 
}
?>

L'image:

Nom : proof_moy.jpg
Affichages : 145
Taille : 73,2 Ko