IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Calcul par matière / module


Sujet :

PHP & Base de données

  1. #61
    FoxLeRenard
    Invité(e)
    Par défaut
    Bon j'avance, mais toujours au niveau des corrections des tables le dernier point qu'il te faut absolument changer est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    CREATE TABLE `matiere` (
      `Index` smallint(5) unsigned NOT NULL auto_increment,
      `nommat` text NOT NULL,
      `idmod` int(11) NOT NULL default '0',
      `coefmat` int(11) NOT NULL default '0',
      PRIMARY KEY  (`Index`),
      UNIQUE KEY `nommat` (`nommat`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
    nommat est de type text donc sans taille tu ne peut
    l'utiliser comme une clé !

    donc la saisie ne pourra plus étre un TEXTAREA mais un IMPUT
    et toujours par PHPMYADMIN changes en

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    CREATE TABLE `matiere` (
      `Index` smallint(5) unsigned NOT NULL auto_increment,
      `nommat` varchar(50) NOT NULL default '',
      `idmod` int(11) NOT NULL default '0',
      `coefmat` int(11) NOT NULL default '0',
      PRIMARY KEY  (`Index`),
      UNIQUE KEY `nommat` (`nommat`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
    Tu ne perdra pas tes valeurs !
    Mais sauvegardes quand même avant !

    Voila tes tables sont IMPEC !
    Reste le PHP ... j' y retouren

  2. #62
    Membre du Club Avatar de lilia_dream
    Inscrit en
    Mars 2009
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 267
    Points : 43
    Points
    43
    Par défaut Merci FoxLeRenard
    Un grand Merci FoxLeRenard de votre aide

    La structure de mes tables semble IMPEC grace a votre Correction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
     
    -- --------------------------------------------------------
     
    -- 
    -- Structure de la table `enseignant`
    -- 
     
    CREATE TABLE `enseignant` (
      `Index` smallint(5) unsigned NOT NULL auto_increment,
      `nomens` varchar(50) NOT NULL default '',
      `prenomens` varchar(50) NOT NULL default '',
      `adresseens` varchar(255) NOT NULL default '',
      `email` varchar(50) NOT NULL default '',
      `tel` varchar(50) NOT NULL default '',
      PRIMARY KEY  (`Index`),
      UNIQUE KEY `nomens` (`nomens`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
     
    -- 
    -- Contenu de la table `enseignant`
    -- 
     
    INSERT INTO `enseignant` VALUES (1, 'Jack', 'Joe', '', '', '');
    INSERT INTO `enseignant` VALUES (2, 'Manon', 'lili', '', '', '');
    INSERT INTO `enseignant` VALUES (4, 'Nil', 'cedrick', '', '', '');
     
    -- --------------------------------------------------------
     
    -- 
    -- Structure de la table `etudiant`
    -- 
     
    CREATE TABLE `etudiant` (
      `Index` smallint(5) unsigned NOT NULL auto_increment,
      `codetu` varchar(11) NOT NULL default '',
      `nometu` varchar(50) NOT NULL default '',
      `prenom` varchar(50) NOT NULL default '',
      `adresse` varchar(255) NOT NULL default '',
      `email` varchar(50) NOT NULL default '',
      `tele` varchar(50) NOT NULL default '',
      `niveau` varchar(50) NOT NULL default '',
      PRIMARY KEY  (`Index`),
      UNIQUE KEY `codetu` (`codetu`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
     
    -- 
    -- Contenu de la table `etudiant`
    -- 
     
    INSERT INTO `etudiant` VALUES (1, 'lili', 'may', '', 'test1@test.com', '', '1ereclasse', 'TFG');
    INSERT INTO `etudiant` VALUES (2, 'may', 'lili', '', 'test2@test.com', '', '2ereclasse', 'TII');
     
    -- --------------------------------------------------------
     
    -- 
    -- Structure de la table `filiere`
    -- 
    CREATE TABLE `filiere` (
      `Index` smallint(5) unsigned NOT NULL auto_increment,
      `Nomfili` varchar(11) NOT NULL default '',
      `Id` varchar(50) NOT NULL default '',
      PRIMARY KEY  (`Index`),
      UNIQUE KEY `Nomfili` (`Nomfili`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
     
    -- --------------------------------------------------------
     
    -- 
    -- Structure de la table `matiere`
    -- 
     
    CREATE TABLE `matiere` (
      `Index` smallint(5) unsigned NOT NULL auto_increment,
      `nommat` varchar(50) NOT NULL default '',
      `idmod` int(11) NOT NULL default '0',
      `coefmat` int(11) NOT NULL default '0',
      PRIMARY KEY  (`Index`),
      UNIQUE KEY `nommat` (`nommat`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
     
    -- 
    -- Contenu de la table `matiere`
    -- 
     
    INSERT INTO `matiere` VALUES (1, 'Français', 1, 2);
    INSERT INTO `matiere` VALUES (2, 'Anglais', 1, 2);
    INSERT INTO `matiere` VALUES (3, 'Comptabilité générale 1', 1, 3);
    INSERT INTO `matiere` VALUES (4, 'Histoire contemporaine', 1, 1);
    INSERT INTO `matiere` VALUES (5, 'Méthodes numériques', 2, 3);
     
    -- --------------------------------------------------------
     
    -- 
    -- Structure de la table `module`
    -- 
     
    CREATE TABLE `module` (
      `Index` smallint(5) unsigned NOT NULL auto_increment,
      `codemod` varchar(11) NOT NULL default '',
      `nommod` varchar(50) NOT NULL default '',
      PRIMARY KEY  (`Index`),
      UNIQUE KEY `codemod` (`codemod`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
     
    -- 
    -- Contenu de la table `module`
    -- 
     
    INSERT INTO `module` VALUES (1, 'H111', 'Formation Humaine');
    INSERT INTO `module` VALUES (2, 'M112', 'Mathématiques');
    INSERT INTO `module` VALUES (3, 'T113', 'Sciences Technologie');
     
    -- --------------------------------------------------------
     
    -- 
    -- Structure de la table `note`
    -- 
     
    CREATE TABLE `note` (
      `Index` smallint(5) unsigned NOT NULL auto_increment,
      `idetu` int(11) NOT NULL default '0',
      `idmat` int(11) NOT NULL default '0',
      `note` int(11) NOT NULL default '0',
      `datenote` date NOT NULL default '0000-00-00',
      PRIMARY KEY  (`Index`),
      UNIQUE KEY `datenote` (`datenote`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
     
    -- 
    -- Contenu de la table `note`
    --
    Merci de votre aide

  3. #63
    FoxLeRenard
    Invité(e)
    Par défaut
    Bonsoir,

    Un petit bilan s'impose, il y a 6 tables mais certaines n'ont aucun lien,

    enseignant
    etudiant
    filiere
    matiere
    module
    note

    seule la table note est OK
    Chaque note est liée a un éléve pour une matiére
    a une date donnée SUPER

    Les autres il faut ajouter une ou plusieurs variables

    Par exemple toute la description de l'enseignement existe mais
    aucun code d'une autre table ne permet de les relier
    a mon sens c'est dans
    filiere / matiére / module ... et en plus un "Prof" peut gérer plusieusr matiéres

    de même pour une matiére il peut y avoir plusieurs prof !!

    Donc (de même) préciser une matiére chez un éléve ne suffira pas
    il faudra dire avec quel prof .


    Tu vois avant d'écrire du PHP/MySQL et le FORM de saisi d'une sélection, il faut encore travailler sur les tables et ça il n'y a que toi qui puisse le faire

  4. #64
    Membre du Club Avatar de lilia_dream
    Inscrit en
    Mars 2009
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 267
    Points : 43
    Points
    43
    Par défaut Merci

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

    --
    -- Structure de la table `enseignant`
    --

    CREATE TABLE `enseignant` (
    `Index` smallint(5) unsigned NOT NULL auto_increment,
    `nomens` varchar(50) NOT NULL default '',
    `prenomens` varchar(50) NOT NULL default '',
    `adresseens` varchar(255) NOT NULL default '',
    `email` varchar(50) NOT NULL default '',
    `tel` varchar(50) NOT NULL default '',
    PRIMARY KEY (`Index`),
    UNIQUE KEY `nomens` (`nomens`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

    --
    -- Contenu de la table `enseignant`
    --

    INSERT INTO `enseignant` VALUES (1, 'Jack', 'Joe', '', '', '');
    INSERT INTO `enseignant` VALUES (2, 'Manon', 'lili', '', '', '');
    INSERT INTO `enseignant` VALUES (4, 'Nil', 'cedrick', '', '', '');

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

    --
    -- Structure de la table `etudiant`
    --

    CREATE TABLE `etudiant` (
    `Index` smallint(5) unsigned NOT NULL auto_increment,
    `codetu` varchar(11) NOT NULL default '',
    `nometu` varchar(50) NOT NULL default '',
    `prenom` varchar(50) NOT NULL default '',
    `adresse` varchar(255) NOT NULL default '',
    `email` varchar(50) NOT NULL default '',
    `tele` varchar(50) NOT NULL default '',
    `niveau` varchar(50) NOT NULL default '',
    PRIMARY KEY (`Index`),
    UNIQUE KEY `codetu` (`codetu`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

    --
    -- Contenu de la table `etudiant`
    --

    INSERT INTO `etudiant` VALUES (1, 'lili', 'may', '', 'test1@test.com', '', '1ereclasse', 'TFG');
    INSERT INTO `etudiant` VALUES (2, 'may', 'lili', '', 'test2@test.com', '', '2ereclasse', 'TII');

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

    --
    -- Structure de la table `filiere`
    --
    CREATE TABLE `filiere` (
    `Index` smallint(5) unsigned NOT NULL auto_increment,
    `Nomfili` varchar(11) NOT NULL default '',
    `idetu` int(11) NOT NULL default '0',
    PRIMARY KEY (`Index`),
    UNIQUE KEY `Nomfili` (`Nomfili`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

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

    --
    -- Structure de la table `matiere`
    --

    CREATE TABLE `matiere` (
    `Index` smallint(5) unsigned NOT NULL auto_increment,
    `nommat` varchar(50) NOT NULL default '',
    `idmod` int(11) NOT NULL default '0',
    `coefmat` int(11) NOT NULL default '0',
    `idens` int(11) NOT NULL default '0',
    PRIMARY KEY (`Index`),
    UNIQUE KEY `nommat` (`nommat`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;

    --
    -- Contenu de la table `matiere`
    --

    INSERT INTO `matiere` VALUES (1, 'Français', 1, 2);
    INSERT INTO `matiere` VALUES (2, 'Anglais', 1, 2);
    INSERT INTO `matiere` VALUES (3, 'Comptabilité générale 1', 1, 3);
    INSERT INTO `matiere` VALUES (4, 'Histoire contemporaine', 1, 1);
    INSERT INTO `matiere` VALUES (5, 'Méthodes numériques', 2, 3);

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

    --
    -- Structure de la table `module`
    --

    CREATE TABLE `module` (
    `Index` smallint(5) unsigned NOT NULL auto_increment,
    `codemod` varchar(11) NOT NULL default '',
    `nommod` varchar(50) NOT NULL default '',
    PRIMARY KEY (`Index`),
    UNIQUE KEY `codemod` (`codemod`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

    --
    -- Contenu de la table `module`
    --

    INSERT INTO `module` VALUES (1, 'H111', 'Formation Humaine');
    INSERT INTO `module` VALUES (2, 'M112', 'Mathématiques');
    INSERT INTO `module` VALUES (3, 'T113', 'Sciences Technologie');

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

    --
    -- Structure de la table `note`
    --

    CREATE TABLE `note` (
    `Index` smallint(5) unsigned NOT NULL auto_increment,
    `idetu` int(11) NOT NULL default '0',
    `idmat` int(11) NOT NULL default '0',
    `note` int(11) NOT NULL default '0',
    `datenote` date NOT NULL default '0000-00-00',
    PRIMARY KEY (`Index`),
    UNIQUE KEY `datenote` (`datenote`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

    --
    -- Contenu de la table `note`
    --
    J'espere que les associations entre les tables semblent bien

    Merci d'avance

  5. #65
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par lilia_dream Voir le message

    J'espere que les associations entre les tables semblent bien
    Merci d'avance
    Heu je n'ais pas l'impression,
    je prends la premiere saisie qui va générer un tri sur tes bases

    Selectionner un ensemble des etudiants selon La filiere , Le niveau

    Avec Mysql je vais dans le PHP faire un query de la table
    filiere que je vais mettre dans une liste déroulante.

    Puis

    Avec Mysql je vais dans le PHP faire un query de la table
    etudiant et y rechercher tout les noms (type) de niveau
    que je vais mettre dans une liste déroulante.

    Tu vois déjas c'est pas du gateau !

    bon aprés quel raisonnement ferais tu sur un choix
    POST['niveau'] et POST['filiere']

    Tu vois il faut prendre le temps, pour ma part j'en ais pris pour t'aider mais là c' est a ton tour de creuser la question ,
    voir a mon sens repenser totalement tes tables !

  6. #66
    Membre du Club Avatar de lilia_dream
    Inscrit en
    Mars 2009
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 267
    Points : 43
    Points
    43
    Par défaut Merci de nouveau
    bon aprés quel raisonnement ferais tu sur un choix
    POST['niveau'] et POST['filiere']
    il y a seul raisonnement

    Niveau de l'etudiant
    Premier Annee [30 etudiants]
    Deuxieme Annee [23 etudiants]
    Troixieme Annee [etc...]
    Quatrieme Anne [etc...]

    Le niveau permet de selectionner le niveau de l'etudiant

    Concernant la filiere

    chaque etudiant ou plusieurs s'inscrit dans une filiere

    le choix du filiere permet de filtrer aussi les etudiants

    Merci beaucoup de votre aide

  7. #67
    Membre du Club Avatar de lilia_dream
    Inscrit en
    Mars 2009
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 267
    Points : 43
    Points
    43
    Par défaut
    Salut a tous

    Bonjour FoxLeRenard

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
      $requete1 = "SELECT nommod FROM module ";
     
       $requete2 = "SELECT *  FROM module,matiere where     module.idmod=matiere.idmod";
     
       $requete3 = "SELECT Niveau FROM etudiant";
     
       $requete4 = "SELECT Distinct Nomfili  FROM filiere";
    se sont mes connaissances pour l'instant

    Merc d'avance

  8. #68
    FoxLeRenard
    Invité(e)
    Par défaut
    Tu vois, tes tables sont mal pensées car si tu regardes ce que tu vien d'écrire

    La requete1 SELECT nommod FROM module

    La requete2 SELECT tout FROM module,matiere
    quand module.idmod = matiere.idmod

    La requete3 SELECT Niveau FROM etudiant

    La requete4 SELECT Distinct Nomfili FROM filiere
    si je regardes tes tables je vois que le résultat de 1
    ne me sert a rien pour executer la 2 etc ...

    Franchement il faut refaire tes tables

  9. #69
    Membre du Club Avatar de lilia_dream
    Inscrit en
    Mars 2009
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 267
    Points : 43
    Points
    43
    Par défaut
    Merci FoxLeRenard

    Citation Envoyé par FoxLeRenard
    si je regardes tes tables je vois que le résultat de 1
    ne me sert a rien pour executer la 2 etc ...

    Franchement il faut refaire tes tables


    l'idee de faire ces quatre requettes.

    chaque requette represente une liste deroulante

    je m'explique

    la premiere requette

    Module:---------->la selection des modules

    la deuxieme requette

    Matiere:-------->la selection des matiere mais avec une condition [difficile pour moi de la faire]

    La condition:c'est qu'on selection un module -----une liste des matieres qui appartient a ce module se charge automatiquement dans la deuxieme liste deroulante Matiere:[]

    la troixieme requette

    Niveau:------->la selection des niveaux des etudiants

    La quatrieme requette

    Filiere:------->la selection des filieres

    ce sont tous des listes deroulantes dont une Matiere liste liee par la liste deroulante Module

    Merci encore une fois FoxLeRenard

  10. #70
    FoxLeRenard
    Invité(e)
    Par défaut
    OK je comprends c'est trés pércis,
    je vais revoir les tables et essayer de faire un code,mais pourrais-tu me remplacer (ou mettre en commentaire)
    le vrais sens de tes variables je commences tu poursuit si tu as le temps,

    TABLE `enseignant` (
    `Index` smallint(5) unsigned NOT NULL auto_increment, INDEX ENSEIGNANT
    `nomens` varchar(50) NOT NULL default '', NOM ENSEIGNANT
    `prenomens` varchar(50) NOT NULL default '',PRENOM ENSEIGNANT
    `adresseens` varchar(255) NOT NULL default '',ADR ENSEIGNANT
    `email` varchar(50) NOT NULL default '', MAIL ENSEIGNANT
    `tel` varchar(50) NOT NULL default '', TEL ENSEIGNANT

    TABLE `etudiant` (
    `Index` smallint(5) unsigned NOT NULL auto_increment,INDEX ELEVE
    `codetu` varchar(11) NOT NULL default '', ????????? ELEVE
    `nometu` varchar(50) NOT NULL default '',NOM ELEVE
    `prenom` varchar(50) NOT NULL default '',PRENOM ELEVE
    `adresse` varchar(255) NOT NULL default '',ADR ELEVE
    `email` varchar(50) NOT NULL default '', MAIL ELEVE
    `tele` varchar(50) NOT NULL default '',TEL ELEVE
    `niveau` varchar(50) NOT NULL default '',code niveau ??????? ELEVE

    TABLE `filiere` (
    `Index` smallint(5) unsigned NOT NULL auto_increment,INDEX FILIERE
    `Nomfili` varchar(11) NOT NULL default '',NOM FILIERE
    `idetu` int(11) NOT NULL default '0',???? code ou index ELEVE

    TABLE `matiere` (
    `Index` smallint(5) unsigned NOT NULL auto_increment,INDEX MAT
    `nommat` varchar(50) NOT NULL default '',NOM MAT
    `idmod` int(11) NOT NULL default '0',index ou code ???? MODULE
    `coefmat` int(11) NOT NULL default '0',COEF MAT
    `idens` int(11) NOT NULL default '0',INDEX ENSEIGNANT

    TABLE 'module` (
    `Index` smallint(5) unsigned NOT NULL auto_increment,INDEX MOD
    `codemod` varchar(11) NOT NULL default '',???????????INDEX MOD
    `nommod` varchar(50) NOT NULL default '',NOM MOD

    CREATE TABLE `note` (
    `Index` smallint(5) unsigned NOT NULL auto_increment,INDEX NOTE
    `idetu` int(11) NOT NULL default '0',INDEX MOD
    `idmat` int(11) NOT NULL default '0',????? code ou index ETU
    `note` int(11) NOT NULL default '0',
    `datenote` date NOT NULL default '0000-00-00',

  11. #71
    Membre du Club Avatar de lilia_dream
    Inscrit en
    Mars 2009
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 267
    Points : 43
    Points
    43
    Par défaut
    la table etudiant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    TABLE `etudiant` (
    `Index` smallint(5) unsigned NOT NULL auto_increment,INDEX ELEVE
    `codetu` varchar(11) NOT NULL default '', ????????? ELEVE
    `nometu` varchar(50) NOT NULL default '',NOM ELEVE
    `prenom` varchar(50) NOT NULL default '',PRENOM ELEVE
    `adresse` varchar(255) NOT NULL default '',ADR ELEVE
    `email` varchar(50) NOT NULL default '', MAIL ELEVE
    `tele` varchar(50) NOT NULL default '',TEL ELEVE
    `niveau` varchar(50) NOT NULL default '',code niveau ??????? ELEVE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    `codetu` varchar(11) NOT NULL default '', ????????? ELEVE
    le code_etudiant=sert pour que l'etudiant puisse se connecter a son compte
    [une page qui lui permettre de visualiser ses notes de matieres anisi la note generale]

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    `niveau` varchar(50) NOT NULL default '',code niveau ??????? ELEVE
    c'est le niveau ou la classe de l'etudiant
    soit du premiere annee ou deuxieme annee
    etc...

    la table module

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    TABLE 'module` (
    `Index` smallint(5) unsigned NOT NULL auto_increment,INDEX MOD
    `codemod` varchar(11) NOT NULL default '',???????????INDEX MOD
    `nommod` varchar(50) NOT NULL default '',NOM MOD
    le code module = chaque module contient un code unique que signifer ca
    on prend un exemple simple
    H111=c'est un code du module ? 1=pour la premiere classe .1=premier matiere.1=premiere semestre

    etc......

    et chaque module = a une ou plusieurs matieres

    Mais on peut enlever le code Module et laisser l'index Module .mais cet index doit correspondre a une ou plusierus matieres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    `idmat` int(11) NOT NULL default '0',????? code ou index ETU
    c'est l'index de la matiere

    Merci

  12. #72
    FoxLeRenard
    Invité(e)
    Par défaut
    Désolé, mais tu veux de l'aide et je medemandes si tu comprends que ce n'est pas possible

    je viens de reposter toutes tes tables avec en gras mes questions,

    Tu me réponds sur 3 tables alors qu'il y en a 6


    et tu termine en disant

    et chaque module = a une ou plusieurs matieres
    Mais on peut enlever le code Module et laisser l'index Module .mais cet index doit correspondre a une ou plusierus matieres
    idmat c'est l'index de la matiere
    ors idmat est curieusement dans les notes

    Alors je ne sais que te demander ...

  13. #73
    Membre du Club Avatar de lilia_dream
    Inscrit en
    Mars 2009
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 267
    Points : 43
    Points
    43
    Par défaut desolee



    TABLE `enseignant` (
    `Index` smallint(5) unsigned NOT NULL auto_increment, INDEX ENSEIGNANT :ok
    `nomens` varchar(50) NOT NULL default '', NOM ENSEIGNANT :ok
    `prenomens` varchar(50) NOT NULL default '',PRENOM ENSEIGNANT:ok
    `adresseens` varchar(255) NOT NULL default '',ADR ENSEIGNANT:ok
    `email` varchar(50) NOT NULL default '', MAIL ENSEIGNANT:ok
    `tel` varchar(50) NOT NULL default '', TEL ENSEIGNANT:ok

    TABLE `etudiant` (
    `Index` smallint(5) unsigned NOT NULL auto_increment,INDEX ELEVE
    `codetu` varchar(11) NOT NULL default '', ????????? ELEVE:ok +explication en haut
    `nometu` varchar(50) NOT NULL default '',NOM ELEVE:ok
    `prenom` varchar(50) NOT NULL default '',PRENOM ELEVE:ok
    `adresse` varchar(255) NOT NULL default '',ADR ELEVE:ok
    `email` varchar(50) NOT NULL default '', MAIL ELEVE:ok
    `tele` varchar(50) NOT NULL default '',TEL ELEVE:ok
    `niveau` varchar(50) NOT NULL default '',code niveau ??????? ELEVE:ok + explication en haut
    TABLE `filiere` (
    `Index` smallint(5) unsigned NOT NULL auto_increment,INDEX FILIERE :ok
    `Nomfili` varchar(11) NOT NULL default '',NOM FILIERE :ok
    `idetu` int(11) NOT NULL default '0',???? code ou index ELEVE cle etrange = index de l'etudiant
    TABLE `matiere` (
    `Index` smallint(5) unsigned NOT NULL auto_increment,INDEX MAT:ok
    `nommat` varchar(50) NOT NULL default '',NOM MAT :ok
    `idmod` int(11) NOT NULL default '0',index ou code ???? MODULE :cle etranger + index
    `coefmat` int(11) NOT NULL default '0',COEF MAT
    `idens` int(11) NOT NULL default '0',INDEX ENSEIGNANT :cle etranger + index

    TABLE 'module` (
    `Index` smallint(5) unsigned NOT NULL auto_increment,INDEX MOD :ok la cle primaire
    `nommod` varchar(50) NOT NULL default '',NOM MOD

    CREATE TABLE `note` (
    `Index` smallint(5) unsigned NOT NULL auto_increment,INDEX NOTE:ok
    `idetu` int(11) NOT NULL default '0',INDEX etudiant :ok + cle etranger
    `idmat` int(11) NOT NULL default '0',????? index matiere + cle etranger
    `note` int(11) NOT NULL default '0',
    `datenote` date NOT NULL default '0000-00-00',

    Merci de nouveau

  14. #74
    Membre du Club Avatar de lilia_dream
    Inscrit en
    Mars 2009
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 267
    Points : 43
    Points
    43
    Par défaut




    TABLE `enseignant` (
    `Index` smallint(5) unsigned NOT NULL auto_increment, INDEX ENSEIGNANT :ok
    `nomens` varchar(50) NOT NULL default '', NOM ENSEIGNANT :ok
    `prenomens` varchar(50) NOT NULL default '',PRENOM ENSEIGNANT:ok
    `adresseens` varchar(255) NOT NULL default '',ADR ENSEIGNANT:ok
    `email` varchar(50) NOT NULL default '', MAIL ENSEIGNANT:ok
    `tel` varchar(50) NOT NULL default '', TEL ENSEIGNANT:ok

    TABLE `etudiant` (
    `Index` smallint(5) unsigned NOT NULL auto_increment,INDEX ELEVE
    `codetu` varchar(11) NOT NULL default '', codetu ELEVE:ok
    `nometu` varchar(50) NOT NULL default '',NOM ELEVE:ok
    `prenom` varchar(50) NOT NULL default '',PRENOM ELEVE:ok
    `adresse` varchar(255) NOT NULL default '',ADR ELEVE:ok
    `email` varchar(50) NOT NULL default '', MAIL ELEVE:ok
    `tele` varchar(50) NOT NULL default '',TEL ELEVE:ok
    `niveau` varchar(50) NOT NULL default '', niveau ELEVE:ok

    TABLE `filiere` (
    `Index` smallint(5) unsigned NOT NULL auto_increment,INDEX FILIERE :ok
    `Nomfili` varchar(11) NOT NULL default '',NOM FILIERE :ok
    `INDEX ELEVE` int(11) NOT NULL default '0',? index ELEVE :ok

    TABLE `matiere` (
    `Index` smallint(5) unsigned NOT NULL auto_increment,INDEX MAT:ok
    `nommat` varchar(50) NOT NULL default '',NOM MAT :ok
    `idmod` int(11) NOT NULL default '0',index MODULE:ok
    `coefmat` int(11) NOT NULL default '0',COEF MAT:ok
    [B]`INDEX ENSEIGNANT` int(11) NOT NULL default '0',INDEX ENSEIGNANT[/B] :ok

    TABLE 'module` (
    `Index` smallint(5) unsigned NOT NULL auto_increment,INDEX MOD :ok la cle primaire
    `nommod` varchar(50) NOT NULL default '',NOM MOD

    CREATE TABLE `note` (
    `Index` smallint(5) unsigned NOT NULL auto_increment,INDEX NOTE:ok
    `INDEX ETUDIANT` int(11) NOT NULL default '0',INDEX etudiant :ok +
    `INDEX MATIERE` int(11) NOT NULL default '0', index matiere + cle etranger
    `note` int(11) NOT NULL default '0',
    `datenote` date NOT NULL default '0000-00-00',

    Merci d'avance

  15. #75
    FoxLeRenard
    Invité(e)
    Par défaut
    Escuses moi mais trop de boulot ...
    Ca y est j'arrives.
    Ta derniére version parait super je file bosser dessus et te réponds cet aprem ...

  16. #76
    Membre du Club Avatar de lilia_dream
    Inscrit en
    Mars 2009
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 267
    Points : 43
    Points
    43
    Par défaut
    Merci FoxLeRenard

    votre aide m'encourage beaucoup

    Merci encore une fois

  17. #77
    FoxLeRenard
    Invité(e)
    Par défaut
    Nous avons maintenant les éléments pour réaliser un choix aboutissant ou a
    une visualisation, ou a une saisie.

    tu m'avais écris:

    l'idee de faire ces quatre requettes.
    chaque requette represente une liste deroulante


    1) Module:---------->la selection des modules

    2) Matiere:-------->la selection des matiere avec condition ==>
    * on selection un module ==> la liste des matieres apparenant au module
    s'affiche

    3) Niveau:------->la selection des niveaux des etudiants

    4) Filiere:------->la selection des filieres
    Nous sommes OK alors accepterais tu qu'il y ait un premier choix SEUL
    MODULE (une liste des modules) le visiteur choisi son module et clic SUIVANT

    un peut comme les banques ...

    Alors s'afficherair les 4 listes pour le choix final ??

    Ton AVIS

  18. #78
    Membre du Club Avatar de lilia_dream
    Inscrit en
    Mars 2009
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 267
    Points : 43
    Points
    43
    Par défaut

  19. #79
    FoxLeRenard
    Invité(e)
    Par défaut
    Alors le plus simple
    appelles juste pour les tests selection1.php
    selection2.php puis selection3.php
    gardes bien tout y compris le DOCTYPE et test
    par contre contrôles les login bases Mysql
    bon je te mets juste le 1
    (le 2 est provisoir juste voir si c'est OK)


    selection1.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
     
    <?PHP
    session_start();
    /* selection1.php */
    ?>
     
    <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'  'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
    <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    <title>suivi scolaire</title>
    <meta name="keywords" content="suivi scolaire" />
    <meta name="description" content="suivi scolaire" />
    <meta name="robots" content="all" />
    <meta http-equiv="content-language" content="fr, en" />
    <meta name="expires" content="never" />
    <meta name="rating" content="general" />
    <meta name="revisit-after" content="30 days" />
    <style type="text/css">
    * {font-size : 100%;}
    html { width:100%;height : 100%;font-size : 100%;
    }
    BODY {
    width:100%;
    height : 100%;
    background-color : #557bac; 
    font-family : Verdana, Myranda,Arial, Helvetica, sans-serif; 
    font-size : 100%; 
    color : #ffffff; 
    margin-left : 0; 
    margin-right : 0;
    text-align:center;
    }
    div.centre {width: 800px;margin : auto;text-align:center;}
    a.LesA { font-family : Verdana, Myranda,Arial, Helvetica, sans-serif;   font-size: 1.2em; color: #ffffff; text-decoration: none;}
    a.LesA:link { } 
    a.LesA:hover {color : #ff9999; }
    </style>
     
    </head>
    <body>
     
    <div class="centre" >
    <b>Choisissez votre Module</b><br />
    <table><tr><td>
    <form method='post' action='selection2.php'><br />
    <?PHP
     
    $connexion = mysql_connect($host,$user,$pass);
    $connexion2 = mysql_select_db($dbase,$connexion);
     
       $result=mysql_query("select * from module
         WHERE  nommod >= ' ' and nommod <= 'zzzz'
         ORDER BY nommod ");
       while ($row=mysql_fetch_array($result)) 
         {
          $Index= stripslashes($row['Index']);
          $nommod= stripslashes($row['nommod']);
     
          echo "<input type='radio' name='module'  value='".$Index."'>";
          echo " code ".$Index." ".$nommod."<br /> ";
         }
       mysql_close();
    ?>
     
    <br /><input type='submit' value='ok'>
    </form>
    </td></tr></table>
    <br />
    </div>
    </body></html>
    selection2.php

    juste pour le test

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
    <?PHP
    session_start();
    /* selection2.php */
    if (isset($_POST["module"])) $module=htmlentities(trim($_POST["module"]));
        else $module="xx";
    ?>
     
    <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'  'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
    <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    <title>suivi scolaire</title>
    <meta name="keywords" content="suivi scolaire" />
    <meta name="description" content="suivi scolaire" />
    <meta name="robots" content="all" />
    <meta http-equiv="content-language" content="fr, en" />
    <meta name="expires" content="never" />
    <meta name="rating" content="general" />
    <meta name="revisit-after" content="30 days" />
    <style type="text/css">
    * {font-size : 100%;}
    html { width:100%;height : 100%;font-size : 100%;
    }
    BODY {
    width:100%;
    height : 100%;
    background-color : #557bac; 
    font-family : Verdana, Myranda,Arial, Helvetica, sans-serif; 
    font-size : 100%; 
    color : #ffffff; 
    margin-left : 0; 
    margin-right : 0;
    text-align:center;
    }
    div.centre {width: 800px;margin : auto;text-align:center;}
    a.LesA { font-family : Verdana, Myranda,Arial, Helvetica, sans-serif;   font-size: 1.2em; color: #ffffff; text-decoration: none;}
    a.LesA:link { } 
    a.LesA:hover {color : #ff9999; }
    </style>
     
    </head>
    <body>
     
    <div class="centre" >
    <b>JUSTE CONTROLE</b><br />
    <table><tr><td>
     
    <?PHP
    /* <form method='post' action='selection1.php'><br /> */
    if ($module=="xx") {echo "saisie incorecte"}
    else
      {
    $connexion = mysql_connect($host,$user,$pass);
    $connexion2 = mysql_select_db($dbase,$connexion);
     
       $result=mysql_query("select * from module
         WHERE  Index = '$module'");
       while ($row=mysql_fetch_array($result)) 
         {
          $Index= stripslashes($row['Index']);
          $nommod= stripslashes($row['nommod']);
     
          echo "Oui saisie ".$Index." ".$nommod."<br /> ";
         }
       mysql_close();
       }
    /*
    <br /><input type='submit' value='ok'>
    </form>
    */
    ?>
     
    </td></tr></table>
    <br />
    </div>
     
    </body></html>
    tiens moi au courant de toute façon je continues

    ATTENTION JE REEDITES j'avais oublié de fermer le DIV dans 1 et 2

  20. #80
    Membre du Club Avatar de lilia_dream
    Inscrit en
    Mars 2009
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 267
    Points : 43
    Points
    43
    Par défaut Merci
    Merci FoxLeRenard

    le script du selection1.php

    le script du selection2.php il y a une erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\documents and settings\testnn\selection2.php on line 61
    la ligne 61
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    while ($row=mysql_fetch_array($result))
    Merci de nouveau

Discussions similaires

  1. Requête syntaxe de calcul par comparaison
    Par valalu dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 04/07/2007, 11h41
  2. Réponses: 3
    Dernier message: 24/03/2007, 13h42
  3. Saisie de calcul par l'utilisateur
    Par zenaf dans le forum C
    Réponses: 11
    Dernier message: 26/10/2006, 19h42
  4. Pb Requetes et calcul par condition
    Par flagfight dans le forum Access
    Réponses: 2
    Dernier message: 19/05/2006, 10h30
  5. [Access] Calcule par ligne dans une requête
    Par Belze dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/02/2006, 09h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo