Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/04/2011, 20h13   #1
Invité de passage
 
Inscription : septembre 2009
Messages : 21
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 21
Points : 2
Points : 2
Par défaut calcul moyenne d'une matière

Bonjour

calcul moyennetp+td)+2*exam/3

1.un formulaire de saisie pour les notes:dans la table "avoir".
Code html :
1
2
3
4
5
6
7
8
9
10
11
<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:</label> <select name="id_etud"> <option>1207045</option><option>1307555</option><option>1410256</option></select><br /> <br /><label for="nom">code_mat:</label> <select name="code_mat"> <option>eq10</option><option>eq11</option><option>eq12</option></select><label for="nom">code_annee:</label> <select name="code_annee"> <option>2008</option><option>2009</option><option>2010</option><option>2011</option></select><br /> <br />
 
<label for="nom">note:</label> <input id="nom" name="note" size="6" type="texte" /><br /><br /><br />
 
<input id="saisir" type="submit" value="saisir" /> <br />
 
</fieldset> </form>
2.le modèle ci joint de la table "avoir" et "examen"
3.le code PHP
4.le résultat en jpeg
A: j'ai utilisé le print-r je cherchais à afficher les notes puis chaque note je voulais quelle soit affecté à un $a=12... ect et puis je calcul la moyenne,et puis je constate que je ne peux le faire,puisque j'ai toutes les notes je n'ai pas des $tab spécifiques.

B: ,donc si j'ai un autre choix de faire avec un formulaire tp,td, exam, mais ma requete sql1 ne pourrait remplir la table avoir.
que faire.
cordialement
Images attachées
Type de fichier : jpg résultat.jpg (241,2 Ko, 6 affichages)
Fichiers attachés
Type de fichier : doc tables[1].doc (26,0 Ko, 4 affichages)
Type de fichier : php calculmat.php (2,0 Ko, 8 affichages)
quomeiha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2011, 22h24   #2
Futur Membre du Club
 
Homme
Développeur informatique
Inscription : janvier 2011
Messages : 23
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : janvier 2011
Messages : 23
Points : 17
Points : 17
Salut,
Bon alors la première chose que j'aurais à dire c'est de présenter correctement les choses en utilisant les balises prévues à cet effet.
Bon ca donne ca :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<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>
Ensuite, on ne voit pas où tu veux en venir, quel est ton problème réellement et que veux tu faire ? Essaie de nous expliquer clairement ce que tu veux !

Enfin, il me semble qu'utiliser l'attribut "for" avec la meme valeur à chaque fois est une erreur étant donné que la valeur de "for" est censée etre la valeur du "name" qui suit le label. Bon c'est peut être pas clair alors exemple :
Code :
1
2
3
4
 
<label for="note">note:
<input id="nom" name="note" size="6" type="texte" />
</label>
Et c'est pas :
Code :
<input id="nom" name="note" size="6" type="texte" />
mais :
Code :
<input id="nom" name="note" size="6" type="text" />
Voila, essaye de nous expliquer plus simplement et plus clairement ce que tu veux, si tu veux une réponse claire. Et essaye de t'appliquer sur tes syntaxes.
silverockets est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2011, 19h13   #3
Invité de passage
 
Inscription : septembre 2009
Messages : 21
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 21
Points : 2
Points : 2
Par défaut explication du calcul moyenne

Bonjour
Merci pour les corrections apportés.
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.
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.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
r1=mysql_query("SELECT note AS N ex
	                     FROM avoir
	                     ORDER BY id_etud") or die (mysql_error());
	$N ex=array();
	while($ligne=mysql_fetch_assoc($result)){$N ex[]=$ligne['N ex'];}
	mysql_free_result($r1);
 
r2=mysql_query("SELECT note AS N tp
	                     FROM avoir
	                     ORDER BY id_etud") or die (mysql_error());
	$N tp=array();
	while($ligne=mysql_fetch_assoc($result)){$N tp[]=$ligne['N tp'];}
	mysql_free_result($r2);
 
r3=mysql_query("SELECT note AS N td
	                     FROM avoir
	                     ORDER BY id_etud") or die (mysql_error());
	$N td=array();
	while($ligne=mysql_fetch_assoc($result)){$N td[]=$ligne['N td'];}
	mysql_free_result($r3);
 
 
r4=mysql_query("SELECT note AS N tp
	                     FROM avoir
	                     ORDER BY id_etud") or die (mysql_error());
	$N tp=array();
	while($ligne=mysql_fetch_assoc($result)){$N tp[]=$ligne['N tp'];}
	mysql_free_result($r4);
 
 
	$moy=NULL;
	 if r1>10
	    $t=" ,SUM(r1*2;r2,r3;)='$item',
	                $moy:=$t/3;
else{ $t=" ,SUM(r4*2;r2,r3;)='$item',
	    $moy:=$t/3;
 
	$sql="SELECT id_e,id_e,note, $moy,
 
	      FROM lavoir
	      INNER JOIN etudiants ON etudiants.id-etud = avoir.INE
	      WHERE id_etud = '1207045'
	       ";
je sais que mon code n'est pas juste car je ne sais quoi mettre dans la boucle each avant le calcul de la moyenne ,
Donc je souhaiterai avoir votre opinion la dessus.
cordialment
quomeiha est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h42.


 
 
 
 
Partenaires

Hébergement Web