Moyenne et formulaire dynamique

Petit nouveau ! | 3 Messages

19 sept. 2005, 08:03

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

Mammouth du PHP | 19672 Messages

19 sept. 2005, 08:09

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...?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 3 Messages

19 sept. 2005, 08:19

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.

Mammouth du PHP | 19672 Messages

19 sept. 2005, 08:27

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;
?>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: