Problem d'insertion

Résolu
abla90 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
 Siluni -
Bonsoir,
j'ai un problem veuillez m'aider;donc j'essey de calculer une moyenne et l'inserer dans le champ moyenne de ma table avoir note
etudiant(id_etud,.........)
module(code_module,intitul,.....)
avoir_note(id_etud,code_module,moyenne.....)

la variable test vas etre inserer dans le champ moyenne;le problem est le suivant;le calcule se fait mais il insert seulement dans le premier enregistrement de ma table;
j'ai effectué un echo sur la variable test il m'affiche tt les moyenne calculées mais il insert just la première dans le premier enregistremen;

svvppp j'attend vos suggestions



<?php
include'connexion.php';


$sql = "SELECT 'mat_etud' FROM 'etudiant'";
$sql1= "SELECT 'code_mod', 'coef_rat','coef_ex','coef_mod' FROM 'module'";
$sql2="SELECT 'mat_etud', 'note_cc' , 'note_exam' ,'note_rat' ,'moy_mod' FROM 'avoir_note' WHERE avoir_note.'ind_aquis'='0'";


$res = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
$res1 = mysql_query($sql1) or die('Erreur SQL : <br />'.$sql1);
$res2 = mysql_query($sql2) or die('Erreur SQL : <br />'.$sql2);
$nbr= mysql_num_rows($res2);

for($i=0;$i<$nbr;$i++)
{
$cc=mysql_result($res2,$i,"note_cc");

$rat=mysql_result($res2,$i,"note_rat");

$exam=mysql_result($res2,$i,"note_exam");

$id_etud=mysql_result($res,$i,"mat_etud");

$code_m=mysql_result($res1,$i,"code_mod");



$test=$rat+$exam;
//echo $test.'<br/>';
$req="UPDATE avoir_note SET moy_mod=$test WHERE mat_etud=$id_etud AND code_mod=$code_m;";

$reso=mysql_query($req) or die('Erreur SQL : <br />'.$req);


?>


3 réponses

Siluni
 
UPDATE avoir_note SET moy_mod = SUM(note_rat, note_exam) WHERE moy_mod IS NOT NULL


ce genre de requete convient pas? et sa evite un traitement PHP plutot lourd...

Le where est la juste pour avoir les enregistrements non traité et si la valeur par defaut est NULL (bien sur ^^)
0
abla90 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
bonsoir! non désormais ça m'arrange pas puisque je vais calculer tt une moyenne =( note_td*coef_td)+(note_exam*coef_ex)/1OO donc je crois pas que je pourrais la calculer de cete manière....

merçii j'attend vos suggestions!
0
Siluni
 
le SQL fonctionne toujours
UPDATE avoir_note SET moy_mod = (SUM( note_td * coef_td ), ( note_exam * coef_ex )) / 1OO) WHERE moy_mod IS NOT NULL
0