Problem d'insertion

Résolu/Fermé
abla90 Messages postés 5 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 18 juin 2010 - 10 juin 2010 à 22:14
 Siluni - 11 juin 2010 à 08:30
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

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 jeudi 10 juin 2010 Statut Membre Dernière intervention 18 juin 2010
10 juin 2010 à 23:26
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
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