Page 1 sur 1

RECUPERATION DE COEFICIENT

Posté : 28 janv. 2014, 04:39
par pouyenne
Salut a tous
je creer un logiciel de gestion scolaire et voudrai genere des bulltitin qi recupere automatiquement les coeficient jai 3 table eleve,note,coef
[mysql]`eleve` (
`idEleve` int(5) NOT NULL AUTO_INCREMENT,
`nomEleve` varchar(15) NOT NULL,
`prenomEleve` varchar(15) NOT NULL,
`sexeEleve` varchar(15) NOT NULL,
`classeEleve` varchar(15) NOT NULL,
`serieEleve` varchar(15) NOT NULL,
`idParent` int(5) NOT NULL,
`session` varchar(15) NOT NULL,
`telEleve` varchar(15) NOT NULL,
PRIMARY KEY (`idEleve`),
KEY `clesseEleve` (`classeEleve`,`serieEleve`),
KEY `serieEleve` (`serieEleve`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;

`note` (
`idNote` int(5) NOT NULL AUTO_INCREMENT,
`idEleven` int(5) NOT NULL,
`matieren` varchar(15) NOT NULL,
`note1` float NOT NULL,
`note2` float NOT NULL,
`note3` float NOT NULL,
`compo1` float NOT NULL,
`Semestre1` float NOT NULL,
`note4` float NOT NULL,
`note5` float NOT NULL,
`note6` float NOT NULL,
`compo2` float NOT NULL,
`semestre2` float NOT NULL,
PRIMARY KEY (`idNote`),
KEY `idEleve` (`idEleven`,`matieren`),
KEY `matieren` (`matieren`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;

`coeficient` (
`idCoef` int(5) NOT NULL AUTO_INCREMENT,
`matierec` varchar(15) NOT NULL,
`seriec` varchar(15) NOT NULL,
`coef` varchar(15) NOT NULL,
PRIMARY KEY (`idCoef`),
KEY `matierec` (`matierec`,`seriec`),
KEY `seriec` (`seriec`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=13 ;[/mysql]

Re: RECUPERATION DE COEFICIENT

Posté : 28 janv. 2014, 10:18
par Spols
Il te faut utiliser des jointures et leur indiquer les champs en commun entre les tables

Re: RECUPERATION DE COEFICIENT

Posté : 28 janv. 2014, 11:01
par sirakawa
Si je vois bien , le nombre de notes par élève est limité et tout sera saisi d'un bloc vraisemblablement.
De mon point de vue, erreur de conception.

Re: RECUPERATION DE COEFICIENT

Posté : 28 janv. 2014, 23:02
par dogmongo
Bonjour,

faire une table pour un coef note :non: , un simple tableau array suffisait d'autant que matière était déjà prévue dans note, idem pour matière il en existe pas des milliers, donc pareil tableau array
je rejoint l'avis de sirakawa

Re: RECUPERATION DE COEFICIENT

Posté : 29 janv. 2014, 10:52
par moogli
@dogmongo
Non un tableau en dur dans le code, c'est pas la solution, si tu modifie un coefficient tu est obligé de le faire dans le code donc de faire intervenir un dev. Et ça ce n'est pas pas acceptable pour un utilisateur (surtout si les coeff change à chaque trimestre ;)).

La solution proposée à l'avantage d'être souple et entièrement configurable.

@pouyenne : je rejoint sirakawa tu as un problème sur le modèle de la base, les notes sont mal modélisée, au pire tu aurais une table de ce genre
idnote
ideleve
idmatière
idtrimestre
idcoeff
note
datenote

et tu stock autant de note par sur le couple élève / matière que tu as besoin.

pour l'affichage tu select sur la table note et fait les jointures sur les autres table pour avoir les infos dont tu as besoin.
tu peux faire les moyennes directement en SQL.

Si tu explique plus en détails ce que tu veux (affichage d'un seul bulletin, d'un élève identifié, ou génération de tous les bulletins etc).


ps : pense au BB Code STP

@+

Re: RECUPERATION DE COEFICIENT

Posté : 29 janv. 2014, 13:30
par dogmongo
Autant pour moi
je croyais qu'il n'y avait que 3 coef, je me suis fié au système du collège de mon gamin :oops:

Re: RECUPERATION DE COEFICIENT

Posté : 29 janv. 2014, 18:08
par sirakawa
Il faut en général plutôt prévoir une conception qui puisse évoluer sans modifier le code :
savoir inverser une matrice 4x4 c'est bien, mais il est mieux de savoir inverser toute matrice carrée.

Re: RECUPERATION DE COEFICIENT

Posté : 05 févr. 2014, 03:45
par pouyenne
exusez-moi pour l retard souci d connexion

voici ma premiere requete
j'ai les matieres sont recuperees avec le coef mais les matieres sont en double sauf l premier(anglais
$id=$_GET['id'];
$req=mysql_query("SELECT idEleve,notes.matiere,note1,note2,note3,compo1,coef
FROM notes,eleve,coeficient,serie WHERE
idEleve='$id' and eleve.idEleve=notes.eleve and coeficient.matiere=notes.matiere and eleve.serie_eleve=coeficient.serie")

or die ('Error '.mysql_error());
Mat. Matiere note1 note2 note3 coef
4 Anglais 10 12 13 11 2
4 Maths 13 14 12 3
4 Maths 13 14 12 3
4 Histo-Geo 15 13 14 13 2
4 Histo-Geo 15 13 14 13 2

voici la deuxieme requete
j'ajoute GROUP BY cette fois si la premiere matiere(anglais) disparai

$id=$_GET['id'];
$req=mysql_query("SELECT idEleve,notes.matiere,note1,note2,note3,compo1,coef
FROM notes,eleve,coeficient,serie WHERE
idEleve='$id' and eleve.idEleve=notes.eleve and coeficient.matiere=notes.matiere and eleve.serie_eleve=coeficient.serie GROUP BY matiere")
or die ('Error '.mysql_error());

Mat. Matiere note1 note2 note3 coef
4 Histo-Geo 15 13 14 13 2
4 Maths 13 14 12 3

j'ai fais de tel sorte q l'utilisateur puisse modifier comme il veu ici j'ai simplement mis c don on a besoin pour la récuperation du coef