Page 1 sur 1

Moyenne et formulaire dynamique

Posté : 19 sept. 2005, 08:03
par oman
Bonjour,
Soit un formulaire créé dynamiquement à partir d'une table. Ce formulaire contient uniquement des données type numérique. Je souhaite que la moyenne de ces données et que cette moyenne et les valeurs soient ensuite insérés. Je galère pour gérer la moyenne.
Oman

Posté : 19 sept. 2005, 08:09
par Cyrano
Tu peux extraire des moyennes avec une requête SQL directement avec AVG(nom_du_champ) dans une requête à part.

Sinon, il faudrait avoir un bout de code et les détails de ce que tu veux faire avec un exemple de ce que tu veux faire : moyenne pour l'ensemble des données, moyennes par groupes, autre...?

Posté : 19 sept. 2005, 08:19
par oman
Le calcul de la moyenne doit se faire avant l'insertion des valeurs dans la table.

Code : Tout sélectionner

while($rang=mysql_fetch_array($resultat)) { $nomeleve=$rang['nomeleve']; $sql="INSERT INTO note VALUES ('$nomeleve', '$numerodev','$code_matiere', '$note[$nomeleve]')"; mysql_query($sql, $connexion); }
Comment calculer la moyenne de $note[$nomeleve] et l'insérer (dans une autre table) en même temps que l'insertion ci-dessus.

Posté : 19 sept. 2005, 08:27
par Cyrano
Relativement simplement, j'ai mis des commentaires explicatifs:
<?php
/* On crée un compteur */
$n = 0;
/* On crée une variable de stockage des notes */
$t = 0;
while($rang=mysql_fetch_array($resultat))
{
    $nomeleve = $rang['nomeleve'];
    $sql = "INSERT INTO note VALUES ('". $nomeleve ."', '". $numerodev ."','". $code_matiere ."', '". $note[$nomeleve] ."')";
    mysql_query($sql, $connexion);
    /* On incrémente le compteur */
    $n++;
    /* On ajoute la note au total */
    $t += $note[$nomeleve];
}
/* On calcule la moyenne */
$moyenne = $t / $n;
?>