Recupeation de coeficient

Résolu/Fermé
dsigner - 11 févr. 2014 à 04:32
 Profil bloqué - 13 févr. 2014 à 09:32
Bonjour,
j crée un logiciel de gestion scolaire et je veux récupéré le coef des eleves selon leurs serie
j'ai mis trois table en relation,
table_eleve(idEleve,prenom_eleve,nom_eleve,serie_eleve,classe_eleve);
table_notes(idNote,eleve(cle etrangèreen relation avec idEleve),matiere,note1,note2...);
table_coeficient(idCoef,matiere,serie,coef)
lorque je fais cette requette les coeficients sont normalement récupéres mais ils viennent 2 fois sauf la première matiere(anglais) et si j'ajoute l'attribut GROUP BY ils ne viennent plus en double mais la première matiere(anglais) disparait

$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());



6 réponses

Profil bloqué
12 févr. 2014 à 02:16
Bonjour,

mais ton GROUP BY tu le fais sur quoi exactement ?
sa peu changé complétement la donne en fonction de ce sur quoi tu le fait.

un simple GROUP BY sur "matiere" de coefficient devrais fonctionné.

En revanche est tu certain de la cohérence de ta requéte ?
tu semble faire correspondre des id avec des notes etc...c'est un peu comme faire correspondre des prénom avec des noms...pas super logique...

Bon courage à toi..
n'hesite pas à nous notifier...
0
dsigner Messages postés 18 Date d'inscription mardi 11 février 2014 Statut Membre Dernière intervention 2 novembre 2015
12 févr. 2014 à 04:17
c'est ce que j'ai fait (GROUP BY matiere) mais il ya une matiere qui et les autres matiere viennent normalement avec leurs coef
0
Profil bloqué
12 févr. 2014 à 09:44
Re bonjour,

tu aurais un exemple de données comme elles sont dans ta base de données ?
tu n'est surement pas très loin.

d'autre part je pense que se serai mieux en utilisant des jointures...

ne te décourage pas,
0
dsigner Messages postés 18 Date d'inscription mardi 11 février 2014 Statut Membre Dernière intervention 2 novembre 2015
12 févr. 2014 à 12:09
bonjour et merci pour votre dispônibilite
voici la base
-- phpMyAdmin SQL Dump
-- version 3.5.1
-- http://www.phpmyadmin.net
--
-- Client: localhost
-- Généré le: Mer 12 Février 2014 à 10:54
-- Version du serveur: 5.5.24-log
-- Version de PHP: 5.3.13

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Base de données: 'bd_gestion_eleve'
--
CREATE DATABASE 'bd_gestion_eleve' DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE 'bd_gestion_eleve';

-- --------------------------------------------------------

--
-- Structure de la table 'admin'
--

CREATE TABLE 'admin' (
  'login' varchar(10) NOT NULL,
  'password' varchar(20) NOT NULL,
  'nom' varchar(10) NOT NULL,
  'prenom' varchar(10) NOT NULL,
  PRIMARY KEY ('login')
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Contenu de la table 'admin'
--

INSERT INTO 'admin' ('login', 'password', 'nom', 'prenom') VALUES
('passer', 'passer', 'niang', 'babs');

-- --------------------------------------------------------

--
-- Structure de la table 'classe'
--

CREATE TABLE 'classe' (
  'classe' varchar(10) NOT NULL,
  'serieclasse' varchar(10) NOT NULL,
  PRIMARY KEY ('classe'),
  KEY 'serieclasse' ('serieclasse')
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Contenu de la table 'classe'
--

INSERT INTO 'classe' ('classe', 'serieclasse') VALUES
('1ERE', 'L'),
('1ER', 'S');

-- --------------------------------------------------------

--
-- Structure de la table 'coeficient'
--

CREATE TABLE 'coeficient' (
  'coef' int(11) NOT NULL,
  'matiere' varchar(10) NOT NULL,
  'serie' varchar(10) NOT NULL,
  'idcoef' int(5) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY ('idcoef'),
  KEY 'matiere' ('matiere'),
  KEY 'serie' ('serie')
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=12 ;

--
-- Contenu de la table 'coeficient'
--

INSERT INTO 'coeficient' ('coef', 'matiere', 'serie', 'idcoef') VALUES
(2, 'Anglais', 'S', 1),
(4, 'Français', 'L', 2),
(3, 'Maths', 'S', 3),
(2, 'Maths', 'L', 4),
(2, 'Français', 'S', 5),
(4, 'Histo-Geo', 'L', 6),
(5, 'Anglais', 'L', 9),
(2, 'Histo-Geo', 'S', 10),
(3, 'Philosophi', 'L', 11);

-- --------------------------------------------------------

--
-- Structure de la table 'eleve'
--

CREATE TABLE 'eleve' (
  'idEleve' int(11) NOT NULL AUTO_INCREMENT,
  'prenom_eleve' text NOT NULL,
  'nom_eleve' text NOT NULL,
  'serie_eleve' varchar(10) NOT NULL,
  'classe_eleve' varchar(10) NOT NULL,
  'idParent' int(5) NOT NULL,
  'sexe' varchar(2) DEFAULT NULL,
  'telEleve' varchar(12) DEFAULT NULL,
  'mailEleve' varchar(10) DEFAULT NULL,
  'dateInscription' date DEFAULT NULL,
  'dateNaissance' date DEFAULT NULL,
  'lieuNaissance' varchar(10) DEFAULT NULL,
  'nationalite' varchar(10) DEFAULT NULL,
  'password' varchar(10) DEFAULT NULL,
  'session' varchar(10) DEFAULT NULL,
  'photo' varchar(10) DEFAULT NULL,
  PRIMARY KEY ('idEleve'),
  UNIQUE KEY 'classe_eleve' ('classe_eleve'),
  UNIQUE KEY 'idEleve' ('idEleve'),
  KEY 'idParent' ('idParent'),
  KEY 'serie_eleve' ('serie_eleve')
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;

--
-- Contenu de la table 'eleve'
--

INSERT INTO 'eleve' ('idEleve', 'prenom_eleve', 'nom_eleve', 'serie_eleve', 'classe_eleve', 'idParent', 'sexe', 'telEleve', 'mailEleve', 'dateInscription', 'dateNaissance', 'lieuNaissance', 'nationalite', 'password', 'session', 'photo') VALUES
(4, 'ZOSS', 'DIENG', 'S', '1ERE', 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(5, 'BOUNA', 'NDAW', 'L', '1ER', 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);

-- --------------------------------------------------------

--
-- Structure de la table 'matiere'
--

CREATE TABLE 'matiere' (
  'idMatiere' int(11) NOT NULL,
  'nom_matiere' varchar(10) NOT NULL,
  PRIMARY KEY ('nom_matiere'),
  UNIQUE KEY 'matiere' ('nom_matiere')
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Contenu de la table 'matiere'
--

INSERT INTO 'matiere' ('idMatiere', 'nom_matiere') VALUES
(0, 'Anglais'),
(0, 'Français'),
(0, 'Histo-Geo'),
(0, 'Maths'),
(0, 'Philosophi');

-- --------------------------------------------------------

--
-- Structure de la table 'notes'
--

CREATE TABLE 'notes' (
  'idNote' int(11) NOT NULL AUTO_INCREMENT,
  'eleve' int(11) NOT NULL,
  'matiere' varchar(10) NOT NULL,
  'note1' float DEFAULT NULL,
  'note2' float DEFAULT NULL,
  'note3' float DEFAULT NULL,
  'compo1' float DEFAULT NULL,
  'semestre1' float DEFAULT NULL,
  'note4' float DEFAULT NULL,
  'note5' float DEFAULT NULL,
  'note6' float DEFAULT NULL,
  'compo2' float DEFAULT NULL,
  'semestre2' float DEFAULT NULL,
  PRIMARY KEY ('idNote'),
  KEY 'eleve' ('eleve'),
  KEY 'matiere' ('matiere')
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=12 ;

--
-- Contenu de la table 'notes'
--

INSERT INTO 'notes' ('idNote', 'eleve', 'matiere', 'note1', 'note2', 'note3', 'compo1', 'semestre1', 'note4', 'note5', 'note6', 'compo2', 'semestre2') VALUES
(4, 4, 'Anglais', 10, 12, 13, 11, NULL, NULL, NULL, NULL, NULL, NULL),
(5, 4, 'Maths', 13, 14, 12, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(6, 4, 'Histo-Geo', 15, 13, 14, 13, NULL, NULL, NULL, NULL, NULL, NULL),
(7, 5, 'Français', 12, 11, 15, 12, NULL, NULL, NULL, NULL, NULL, NULL),
(8, 5, 'Maths', 11, 9, 10, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(9, 5, 'Histo-Geo', 15, 16, 13, 13, NULL, NULL, NULL, NULL, NULL, NULL),
(10, 5, 'Anglais', 17, 15, 16, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(11, 5, 'Philosophi', 12, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);

-- --------------------------------------------------------

--
-- Structure de la table 'parent'
--

CREATE TABLE 'parent' (
  'id_parent' int(5) NOT NULL AUTO_INCREMENT,
  'nom_parent' varchar(15) CHARACTER SET utf8 DEFAULT NULL,
  'prenom_parent' varchar(35) DEFAULT NULL,
  'tel1_parent' varchar(12) DEFAULT NULL,
  'tel2_parent' varchar(12) DEFAULT NULL,
  'mail_parent' varchar(50) DEFAULT NULL,
  'password_parent' varchar(15) DEFAULT NULL,
  PRIMARY KEY ('id_parent')
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

--
-- Contenu de la table 'parent'
--

INSERT INTO 'parent' ('id_parent', 'nom_parent', 'prenom_parent', 'tel1_parent', 'tel2_parent', 'mail_parent', 'password_parent') VALUES
(1, 'FALL', 'MOUHAMED', '734566767', '734565654', 'fallmouhamed@gmail.com', 'falla');

-- --------------------------------------------------------

--
-- Structure de la table 'serie'
--

CREATE TABLE 'serie' (
  'idSerie' int(11) NOT NULL,
  'nom_Serie' varchar(10) NOT NULL,
  PRIMARY KEY ('nom_Serie')
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Contenu de la table 'serie'
--

INSERT INTO 'serie' ('idSerie', 'nom_Serie') VALUES
(0, 'L'),
(0, 'S');

--
-- Contraintes pour les tables exportées
--

--
-- Contraintes pour la table 'classe'
--
ALTER TABLE 'classe'
  ADD CONSTRAINT 'serieclasse' FOREIGN KEY ('serieclasse') REFERENCES 'serie' ('nom_Serie');

--
-- Contraintes pour la table 'coeficient'
--
ALTER TABLE 'coeficient'
  ADD CONSTRAINT 'matiere' FOREIGN KEY ('matiere') REFERENCES 'matiere' ('nom_matiere'),
  ADD CONSTRAINT 'serie' FOREIGN KEY ('serie') REFERENCES 'serie' ('nom_Serie');

--
-- Contraintes pour la table 'eleve'
--
ALTER TABLE 'eleve'
  ADD CONSTRAINT 'classe_eleve' FOREIGN KEY ('classe_eleve') REFERENCES 'classe' ('classe'),
  ADD CONSTRAINT 'idParent' FOREIGN KEY ('idParent') REFERENCES 'parent' ('id_parent'),
  ADD CONSTRAINT 'serie_eleve' FOREIGN KEY ('serie_eleve') REFERENCES 'serie' ('nom_Serie');

--
-- Contraintes pour la table 'notes'
--
ALTER TABLE 'notes'
  ADD CONSTRAINT 'eleve' FOREIGN KEY ('eleve') REFERENCES 'eleve' ('idEleve'),
  ADD CONSTRAINT 'matieren' FOREIGN KEY ('matiere') REFERENCES 'matiere' ('nom_matiere');

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

voici la page bulletin
<?php	
		include('../includes/reference.php');
		include('../includes/fonctions.inc.php');
	


$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());			
				
			
				
	$sql3=mysql_query("SELECT * FROM eleve,classe,serie WHERE idEleve=".$id );
	$entete=mysql_fetch_array($sql3);	
	
?>



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//FR" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<title>Bulletin</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="../css/bulletin.css" rel="stylesheet" type="text/css" />
</head>
<body>
<table>
<tr>
<td>
<form name="formrem" method="GET"  action="bulletin.php">
<label><br />Entrer Matricule  
<input type="text" name="id" value="<?php  if(isset($_GET['id']))echo $_GET['id']; ?>" />
</label>
<label>
<input type="submit" name="bouton1" value="rechercher">
</label>
</form>
</table>
<div id="page">
<table align="center" width=870px>
<tr>
			<td colspan=2>Nom:  <?php echo $entete['nom_eleve']; ?> </td>
			<td></td><td></td>
			<td colspan=2>Prenom: <?php echo $entete['prenom_eleve']; ?> </td>
			<td>Classe:  <?php echo $entete['classe_eleve']; ?> </td>
			<td>Serie:  <?php echo $entete['serie_eleve']; ?> </td>
			 <!--<td></td><td></td>
			<td>Serie: <?php //echo $entete['serie']; ?> </td>-->
		</tr>
</table>
<br /><br /><br />
<div class="pos">
<table align="center" border="1px solid black" width=600px>
	<caption>Bulletin de note</caption>
		
										
				
		
		<tr align="center">
			<td>Mat.</td><td>Matiere</td><td>note1</td><td>note2</td><td>note3</td>
			<td>compo1</td><td>Semetre1</td><td>coef</td><td>notecoef</td>
			
		</tr>
		<?php 
		$eleve=mysql_fetch_array($req);
		/**
		 if(empty($eleve['compo1']))
		{
		 $note=$eleve['note1'] + $eleve['note2'] + $eleve['note3'] / 3;
		}
		 if(empty($eleve['note1']))
		{
		 $note=$eleve['note2'] + $eleve['note3'] + $eleve['compo1'] / 3;
		}
		 if(empty($eleve['note2']))
		{
		 $note=$eleve['note1'] + $eleve['note3'] + $eleve['compo1'] / 3;
		}
		 if(empty($eleve['note3']))
		{
		 $note=$eleve['note1'] + $eleve['note2'] + $eleve['compo1'] / 3;
		}
		 if(empty($eleve['note1']) AND empty($eleve['compo1']))
		{
		 $note=$eleve['note2'] + $eleve['note3'] / 2;
		}
		 if(empty($eleve['note2']) AND empty($eleve['compo1']))
		{
		 $note=$eleve['note1'] + $eleve['note3'] / 2;
		}
		$note=$note=$eleve['note1'] + $eleve['note2']+ $eleve['note3'] + $eleve['compo1'];
		$semestre=$note/4;
		$notecoef=$semestre*$eleve['coef'];
		*/
		
		
		
		
		
		
		while ($eleve=mysql_fetch_array($req)){ ?>
		<tr align="center">
					
				<td><?php echo $eleve['idEleve']; ?></td>
				<td><?php echo $eleve['matiere']; ?></td>
				<td><?php echo $eleve['note1']; ?></td>				
				<td><?php echo $eleve['note2']; ?></td>
				<td><?php echo $eleve['note3']; ?></td>
				<td><?php echo $eleve['compo1']; ?></td>										
				<td></td>
				<td><?php echo $eleve['coef']; ?></td>
                <td></td>
				<?php }?>
				
				
				<a href="JavaScript:print()">Imprimer</a>
				<form>
                 <input type=button" value="Imprimer" onclick="JavaScript:print();" />
                </form>
		</tr>
		
				;
 </table>
 </div>
 </div>
</body>
</html>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dsigner Messages postés 18 Date d'inscription mardi 11 février 2014 Statut Membre Dernière intervention 2 novembre 2015
Modifié par dsigner le 13/02/2014 à 01:14
merci a matthebest62 j'ai finalement réussi a regler le problème, le syntaxe est bon il y'avait juste un problème de redondance,

l'habitude de chercher loin ce qui ce trouve a notre pied
0
Profil bloqué
13 févr. 2014 à 09:32
Super tout ça, tu as été plus rapide que moi d'ailleurs...^^

pense à mettre ton post en résolu !

http://sarl-adams.fr
0