RECUPERATION DE COEFICIENT

pouyenne
Invité n'ayant pas de compte PHPfrance

28 janv. 2014, 04:39

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]
Modifié en dernier par moogli le 29 janv. 2014, 10:53, modifié 1 fois.
Raison : bbcode

Mammouth du PHP | 1967 Messages

28 janv. 2014, 10:18

Il te faut utiliser des jointures et leur indiquer les champs en commun entre les tables
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Mammouth du PHP | 2278 Messages

28 janv. 2014, 11:01

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.
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Mammouth du PHP | 804 Messages

28 janv. 2014, 23:02

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

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

29 janv. 2014, 10:52

@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

@+
Il en faut peu pour être heureux ......

Mammouth du PHP | 804 Messages

29 janv. 2014, 13:30

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:

Mammouth du PHP | 2278 Messages

29 janv. 2014, 18:08

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.
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

pouyenne
Invité n'ayant pas de compte PHPfrance

05 févr. 2014, 03:45

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