nougitch
Messages postés431Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention17 novembre 2008
-
3 mars 2005 à 13:04
nougitch
Messages postés431Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention17 novembre 2008
-
3 mars 2005 à 16:02
Bonjour,
Le principe est rès simple : des élèves (colonnes), des matières (lignes) et des notes (cellules).
Impossible d'afficher la note de chaque élève dans chaque matière dans un tableau.
Merci à tous ceux qui me viendtont en aide !
################################
# Structure de la table `eleve`
################################
CREATE TABLE eleve (
id_eleve int(8) unsigned NOT NULL auto_increment,
nom_eleve varchar(255) NOT NULL default '',
PRIMARY KEY (id_eleve)
) TYPE=MyISAM;
##############################
# Contenu de la table `eleve`
##############################
INSERT INTO eleve VALUES (1, 'Nicolas');
INSERT INTO eleve VALUES (2, 'Nelly');
INSERT INTO eleve VALUES (3, 'Axel');
INSERT INTO eleve VALUES (4, 'Peggy');
##################################
# Structure de la table `matiere`
##################################
CREATE TABLE matiere (
id_matiere int(8) unsigned NOT NULL auto_increment,
lib_matiere varchar(255) NOT NULL default '',
PRIMARY KEY (id_matiere)
) TYPE=MyISAM;
#################################
# Contenu de la table `matiere`
#################################
INSERT INTO matiere VALUES (1, 'Maths');
INSERT INTO matiere VALUES (2, 'Anglais');
INSERT INTO matiere VALUES (3, 'Sport');
###############################
# Structure de la table `note`
###############################
CREATE TABLE note (
ce_eleve int(8) unsigned NOT NULL default '0',
ce_matiere int(8) unsigned NOT NULL default '0',
valeur_note varchar(255) NOT NULL default '',
PRIMARY KEY (ce_eleve,ce_matiere)
) TYPE=MyISAM;
#############################
# Contenu de la table `note`
#############################
INSERT INTO note VALUES (1, 1, '0');
INSERT INTO note VALUES (1, 2, '1');
INSERT INTO note VALUES (1, 3, '3');
INSERT INTO note VALUES (2, 1, '1');
INSERT INTO note VALUES (2, 2, '3');
INSERT INTO note VALUES (2, 3, '2');
INSERT INTO note VALUES (3, 1, '1');
INSERT INTO note VALUES (3, 2, '1');
INSERT INTO note VALUES (3, 3, '2');
INSERT INTO note VALUES (4, 1, '1');
INSERT INTO note VALUES (4, 2, '2');
INSERT INTO note VALUES (4, 3, '1');
#############################
# Ma page PHP : index.php
#############################
<html><head><title>NOTE</title></head>
<?
$link = mysql_connect('localhost','root','') or die("Impossible de se connecter");
mysql_select_db('note',$link) or die("Impossible de se connecter");
$eleve=mysql_query("SELECT nom_eleve FROM eleve",$link);
echo ' , ';
while($table_eleve=mysql_fetch_array($eleve,MYSQL_ASSOC)) {
echo \"$table_eleve[nom_eleve], \";
}
echo '';
$matiere=mysql_query(\"SELECT lib_matiere FROM matiere\",$link);
while($table_matiere=mysql_fetch_array($matiere,MYSQL_ASSOC)) {
echo \"----
$table_matiere[lib_matiere], \";
$note=mysql_query(\"SELECT valeur_note FROM note,eleve,matiere WHERE ce_eleve=id_eleve AND ce_matiere=id_matiere\",$link);
while($table_note=mysql_fetch_array($note,MYSQL_ASSOC)) {
echo \"$table_note[valeur_note], \";
}
echo '';
}
echo '
';
?>
</html>
davwart
Messages postés855Date d'inscriptionmardi 19 novembre 2002StatutMembreDernière intervention28 juillet 20091 3 mars 2005 à 14:33
salut!
une question si bien posée mérite une réponse.
alors voici la requete pour avoir toute tes entrées :
"select e.nom_eleve , m.lib_matiere , n.valeur_note FROM eleve e,
matiere m, note n WHERE n.ce_eleve=e.id_eleve AND
n.ce_matiere=m.id_matiere"
donc de là on peut faire une fonction qui te ramene les notes:
<?php
function getNotes(){
$notes=array();
$query=mysql_query("select e.nom_eleve as nom ,
m.lib_matiere as matiere , n.valeur_note as note FROM eleve
e,
matiere m, note n WHERE n.ce_eleve=e.id_eleve AND
n.ce_matiere=m.id_matiere
");
Voila j'ai ecrit ce code à la volée, je l'ai pas debuggué, à toi de le faire. ;)
bon courage !
ps: merci d'avoir pris la peine d'ecrire une question propre !!
-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
$query=mysql_query("select e.nom_eleve as nom ,
m.lib_matiere as matiere , n.valeur_note as note FROM eleve
e, matiere m, note n WHERE n.ce_eleve=e.id_eleve AND
n.ce_matiere=m.id_matiere");