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 :

[Conception] base de données pour gestion de salles


Sujet :

PHP & Base de données

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [Conception] base de données pour gestion de salles
    salut à tous;

    voilà je suis un peu perdu dans les bases de données...
    j'ai un projet à rendre et j'y arriva pas du tous à le faire
    enfaite le projet consiste à partir d'un modele conceptuel des données portant sur la gestion des salles de la fac de réaliser la base de données correspondante.
    celle ci doit être accessible à distance via une interface web
    le dispositif doit permettre d'afficher et imprimer les emplois du telos, par semaine pour une salle donnée, un groupe d'étudiant, un enseignant...
    j'ai reussi à créer les tables dans la base de donnée mais le reste j'arrive pas
    si quelqu'un peut m'aider ça serait sympa...

  2. #2
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    C'est plus de l'aide la, c'est de la conception entière que tu demande

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    Par défaut
    En gros, on te fait ton projet et toi tu cherchers pas...

    CECI DIT, ayant connu des enseignants particuliers, je sais que parfois on vous fait faire des trucs en vous laissant, pour des raisons variables, dans un flou artistique absolu.

    Alors je vais essayer de t'aider.

    Avant toutes choses, tu dois faire un modele conceptuel dont tu es sure. C'est à dire sans incohérence. Car si tu te lances la dedans avac un modele tout faux, tu vas t'en mordre les doigts et predre quelque chose que tu as peu, c'est à dire du temps.

    Donc tout d'abord, il te faut préparer la conception de ton modèle en regroupant les infos dont tu as besoin. Dois tu gérer sur une année seulement? Un enseignant peut_il enseigner plusieurs matières à plusieurs classes? Un enseignant peut-til changer de classe en cours d'années ? les emplois du temps sont-ils gérés par heure, demi-heure, etc ? ce sont ce genre de questions que tu dois te poser pour etre sure de ce que tu vas faire.

    Ensuite évidemment, ton modèle conceptuel va évoluer en fonction de ses répones et donc par conséquent , on ne peut pas aller plus loin dans ton raisonnement. Donc si tu as un modele déja, présente nous le , ce sera deja un bon début.

    Ensuite il va te falloir penser au technologie, par rapport aux contraintes d'accéssibilité via le web, et pour la gratuité, le couple php/mysql me semble approrié. Donc installes ton serveur web et de bdd (wamp ou easyphp parexemple). Apparement, tu l'as deja fait donc on va admettre que ca c'est ok.

    Ensuite c'est que du php et des requetes, donc apprends la syntaxe des requetes sql déjà.(comment faire un select, un insert, un update et un delete).

    Admettons un cas simple (une petite partie de ton domaine d'étude donc). Un enseignant donne un cours à une classe pendant une heure dans une salle.

    on a donc les tables suivantes et les champs associés:
    enseignant:
    enseignant_id
    enseignant_nom
    enseignant_prenom

    matieres
    matiere_id
    matiere_nom

    matieres_enseignant:
    matiere_id
    enseignant_id
    (cette table fait la liaison entre enseignant et matiere).

    classe:
    classe_id
    class_libellé

    matiere_journée_classe
    matiere_id
    classe_id
    enseignant_id
    date_cours
    heure_debut_cours
    heure_fin_cours
    Cette table est permet de dire que tel jour a telle heure, telle matiere est enseignée par tel professeur a telle classe. Le cours debut a heure_debut_cours et se termine a heure_fin_cours.

    Donc voila deja un modele simplifié (qui ne prend un compte que le minimum d'informations).

    Ensuite tu vas réfléchir aux formularies que tu vas présenter, et la de nouveau, des questions. Toutes les données sont elles modifiables et visibles de tout le monde? Si oui alors pas besoin de gestion des comptes utilisateurs, sinon , il te faut une table d'utilisateurs avec des droits et un mécanisme d'identification a mettre en oeure (login et mot de passe). Admettons par simplicité que tout le monde peut consulter les pages et que seul un admin peut modifier les données.

    Dans ce cas , ton site aura les repertoires suivants:
    www -->repertoire racine du site
    www -->xxxx.php toutes les pages visibles de tout le monde
    www -->dossier_admin dans ce repertoire, tu placeras tous les fichiers permettant de faire des modifications, réservé a l'admin donc. Dedans tu placeras un htaccess pour obliger l'admin a saisir son login et son mot de passe pour accéder a ce repertoire qui contiendra les scripts de modifs.


    Donc dans ce dossier admin tu auras:
    un fichier index.php présentant les fonctionnalités disponibles pour un admin.
    un fichier emploidutemps.php qui permettra a l'admin de gérer l'emploi du temps classique.
    un fichier classe.php qui permettra de créer, modifier, supprimer des classes.
    un fichier enseignant.php qui permettra de crééer modifier ou supprimer des enseignants.
    etc..

    Ensuite dans la racine www, la ou seront entreprosés les fichiers accéssibles de tous.
    Tu créeras dedans un fichier emploi du temps qui permettra d'afficher l'emploi du temps comme un calendrier. De même, tu créeras sur ce formulaire des champs permettant de filtrer les résultats (par exemple afficher l'emploi du temps que pour une classe).

    De meme , je te conseille de créer un fichier conf.php dans lequel tu créeras ta connexion à la base de données.

    ALlons un peu plus loin dans la conception et débordons sur un peu de code:
    conf.php: établissement de la connexion à la base de données
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $link=mysql_connect('nomduserveurbdd','utilisateur','motdepasse'); //connection à la base
    mysql_select_db('base_emploidutemps',$link);
    Généralement, en local tu auras les parametres suivants:
    nomduserveurbdd='localhost'
    utilisateur='root'
    motdepasse='' (pour une utilisation personnelle, pas besoin de mdp).
    base_emploidutemps=nom de la base de données.

    Ce fichier te connectera à la base de données et te permettra de faire tes requetes SQL.

    Fichier emploi du temps php:
    Pour définir ton emploi du temps par mois par exemple, il va te falloir faire un algorithme capable de parcourir les jours du mois. Pour chaque jour ensuite, tu vas prendre chaque tranche horaire et chercher dans la table 'matiere_journee_classe' ce qu'il se passe à ce moment là.
    Pour parcourir les dates du mois, regarde les fonctions mktime de php.
    ensuite admettons que tu cherches de 08à 09h ce qu'il se passe le 19 Mai 2007. Tu fais le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    include('conf.php') //connexion à la bdd
    $requete="select * from matiere_journee_classe where date='2007-05-29' and heure_debut_cours='08' and heure_fin_cours='09'";
    $exe=mysql_query($requete);
    if($exe){
      $nb=mysql_num_rows($exe);
      //mysql_num_rows permet de connaitre le nombre de lignes retournées par ta requete.
      if($nb>0){
        //On a des cours ce jour la  , il aura fallu agrémenter la requete initiale pour qu'elle retourne le nom de la classe, le nom de la matiere, etc... 
      }else
    {
      //pas de cours ce jour là.
    }
    }
    Evidemment, c'est ultra simplifié, mais tu comprendras qu'un forum n'est pas la place pour tout faire et puis bon, c'est à toi de le faire


    J'ai essayé de te pointer quelques pistes, a toi de jouer, et nous serons là pour des questions plus précises si il le faut.

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    salut merci de m'avoir répondu

    ben franchement ça fais deux semaines que j'essaye de trouver la solution mais je suis un peu nulle en base de données
    en effet pour créer les tables je l'ai déjà fais sur easy php ce que j'arrive pas à faire c'est les formulaires pour afficher l'emplois du temps pour une classe par exemple

Discussions similaires

  1. [AC-2007] Création d'une base de données pour Gestion des stocks
    Par manovo31 dans le forum Modélisation
    Réponses: 1
    Dernier message: 25/10/2012, 22h38
  2. Création d'une base de données pour gestion des stocks
    Par samaaantha dans le forum Modélisation
    Réponses: 8
    Dernier message: 08/05/2008, 21h13
  3. Réponses: 2
    Dernier message: 28/03/2008, 19h23
  4. Base de données pour Gestion de stock
    Par Armagnak dans le forum Schéma
    Réponses: 1
    Dernier message: 08/06/2007, 09h47
  5. [Conception] base de données pour sport
    Par peach dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 26/10/2005, 15h21

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