Vous êtes sur la page 1sur 5

voici mon formulaire

<form action=" ajout1.php" method="post">


<fieldset>
<p>
<label for="service">id_e:
<select name="id_e">
<option>111</option>
<option>222</option>
<option>333</option>
<option>444</option>
</select><br /><br />
</label>
</p>

<p>
<label for="label" for="nom">id_etud:
<select name="id_etud">
<option>1207045</option>
<option>1307555</option>
<option>1410256</option>
</select><br /><br />
</label>
<label for="nom">code_mat:
<select name="code_mat">
<option>eq10</option>
<option>eq11</option>
<option>eq12</option>
</select>
</label>

<label for="nom">code_annee:
<select name="code_annee">
<option>2008</option>
<option>2009</option>
<option>2010</option>
<option>2011</option>
</select><br /><br />
</label>

<label for="nom">note:
<input id="nom" name="note" size="6" type="texte" /><br /><br /><br />
</label>
<input id="saisir" type="submit" value="saisir" /> <br />

</fieldset>
</form>
En fait je cherche à calculer la moyenne d'un étudiant étape par étape
je dois effectuer le code pour la moyenne matière ensuite la moyenne d'une unité et ensuite la
moyenne semestrielle.
Pour calculer la moyenne matière:
la moyenne est égal à (tp+td)exam*2/3
sinon si examen<10
la moyenne est égal à (tp+td)ratrapage*2/3
pour calculer la moyenne unité:
M_UE = ∑ Moyenne des matières*coefficient_mat / ∑coefficient
Moyenne de semestre (M_sem) :

M_sem= ∑ M_UE *coefficient_ue / ∑coefficient._ue.

A partir de la requete INSERT INTo, j'ai insérer les informations dans la table "avoir" et puis
j'ai fait des jointures sur les tables pour pouvoir visualiser les notes des étudiants pour chaque
examen concerné avec son code.

Ensuite je cherche d'abord à calculer la moyenne matière pour chaque étudiant.


Puisque mon résultat d'affichage le tableau contient les informations suivantes
id étudiant,nom étudiant,prénométudiant,id_examen,libellé examen,codematière,libellé
matière,code anné ,note
je cherche à en extraire les notes pour chaque examen concernépour un étudiant concerné et
ensuite faire des opérations la dessus.

******************

1. <?php
2. $id_e=$_POST['id_e'];
3. $id_etud =$_POST['id_etud'];
4. $code_mat=$_POST['code_mat'];
5.
6. $code_annee=$_POST['code_annee'];
7.
8. $note=$_POST['note'];
9. $bd=mysql_connect('localhost','root','admin') or die ('connexion
impossible'.mysql_error());
10. mysql_select_db('data',$bd) or die ('connexion
impossible'.mysql_error()) ;
11.
12.
13. $sql2=" SELECT
etu.id_etud,nom_fr,prenom_fr,examen.id_e,libelle_e,matiere.code_mat,i
ntitule_mat,
14. avoir.code_annee,note,groupe.num_group,num_sec
15. FROM etu,examen,matiere,avoir,groupe
16. WHERE etu.id_etud=avoir.id_etud
17. AND examen.id_e=avoir.id_e
18. AND matiere.code_mat=avoir.code_mat
19.
20. AND groupe.num_group=etu.num_group
21. ";
22. $r= "$sql2 ORDER BY id_etud";
23. $resultat =mysql_query($r);
24. echo'<table border=1>';
25. echo '<tr bgcolor="#D1D7DC"><td>';
26. echo id_etud; echo '<td><td>';echo nom_francais ; echo
'<td><td>'; echo prenom_francais ; echo '<td><td>';
27. echo id_examen; echo '<td><td>';echo libelle_examen; echo
'<td><td>';echo code_matiere; echo '<td><td>';echo
intitule_matiere; echo '<td><td>';echo note; echo
'<td><td>';echo code_annee; echo '<td><td>';echo num_group;echo
'<td><td>';echo num_sec; echo '<td><td>';echo moyenne;
28. while ($test= mysql_fetch_row($resultat)){
29. list ($id_etud,$nom_fr,$prenom_fr,$id_e,$libelle_e,$code_mat,
$intitule_mat,$code_annee,$note,$num_group,$num_sec)=$test;
30.
31.
32. echo '<tr bgcolor="#DDEEFF"><td>';
33. echo $id_etud; echo '<td><td>';echo $nom_fr ; echo '<td><td>';
echo $prenom_fr ; echo '<td><td>';
34. echo $id_e; echo '<td><td>';echo $libelle_e; echo
'<td><td>';echo $code_mat; echo '<td><td>';echo $intitule_mat;
echo '<td ><td bgcolor="EEBABF">';echo $note; echo '<td><td>';echo
$code_annee; echo '<td><td>';echo $num_group;echo '<td><td>';echo
$num_sec;
35. echo '</td></tr>';
36.
37. $a=$test[ 8] ;
38. echo $a;
39. mysql_query($r);
40.
41. }
42. mysql_close();
43.
44. ?>
45.
46. </table>

******
je commencé à écrire une fonction:
j'extrait dans un tableau différent les notes examen,tp,td et puis je calcule avec condition
ensuite je fais la jointure.

1. <?php
2. $r1=mysql_query("SELECT note AS N ex
3. FROM avoir
4. ORDER BY id_etud") or die (mysql_error());
5. $N ex=array();
6. while($ligne=mysql_fetch_assoc($result)){$N ex[]=$ligne['N ex'];}
7. mysql_free_result($r1);
8.
9. $r2=mysql_query("SELECT note AS N tp
10. FROM avoir
11. ORDER BY id_etud") or die (mysql_error());
12. $N tp=array();
13. while($ligne=mysql_fetch_assoc($result)){$N tp[]=$ligne['N
tp'];}
14. mysql_free_result($r2);
15.
16. r3=mysql_query("SELECT note AS N td
17. FROM avoir
18. ORDER BY id_etud") or die (mysql_error());
19. $N td=array();
20. while($ligne=mysql_fetch_assoc($result)){$N td[]=$ligne['N
td'];}
21. mysql_free_result($r3);
22.
23.
24. r4=mysql_query("SELECT note AS N tp
25. FROM avoir
26. ORDER BY id_etud") or die (mysql_error());
27. $N tp=array();
28. while($ligne=mysql_fetch_assoc($result)){$N tp[]=$ligne['N
tp'];}
29. mysql_free_result($r4);
30.
31.
32. $moy=NULL;
33. if r1>10
34. $t=" ,SUM(r1*2,r2,r3) ,
35. $moy:=$t/3;
36. else{ $t=" ,SUM(r4*2,r2,r3)='$item',
37. $moy:=$t/3;
38.
39. $sql="SELECT id_e,id_e,note, $moy,
40.
41. FROM avoir
42. INNER JOIN etudiants ON etudiants.id-etud = avoir.id-
etud
43. WHERE id_etud = '1207045'
44. ";
45. ?>

si quelqu'un pouvais m'aider à résoudre ce cas car j'ai du mal à écrire ce code.
Désolé d'arriver aussi tard. Mais en fait, il y a plus simple pour agréger des stats avec
MySQL.

Tu as les clauses avg, sum et group by pour t'aider


Salut!

utilises tu mysql?

il n'y a que 2 donnes a conserver l'addition totale des notes et le nombre de fois ou une note a
ete donnee.

a chaque vote :
addition_totale += note;
nb_notes_donnee++;

moyenne = addition_totale / nb_notes_donnee;

variante :
tu conserves la moyenne et le nombre de vote donne

nouvelle_moyenne = (( ancienne_moyenne * ancien_nb_vote) + nouvelle_note) /


(ancien_nb_vote+1);
ancien_nb_vote++;

si tu n'utilises pas de SQL tu peux toujours te servir de fichier texte pour conserver tes
donnees mais bon...

Vous aimerez peut-être aussi