Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/05/2007, 22h25   #1
Invité de passage
 
Inscription : mai 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 2
Points : 0
Points : 0
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...
lydia99 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2007, 23h01   #2
Membre expérimenté
 
Étudiant
Inscription : juillet 2004
Messages : 777
Détails du profil
Informations personnelles :
Âge : 25

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2004
Messages : 777
Points : 527
Points : 527
C'est plus de l'aide la, c'est de la conception entière que tu demande
cerede2000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2007, 01h22   #3
Membre Expert
 
Inscription : octobre 2002
Messages : 1 141
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2002
Messages : 1 141
Points : 1 204
Points : 1 204
Envoyer un message via MSN à Raideman
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 :
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 :
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.
Raideman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2007, 21h56   #4
Invité de passage
 
Inscription : mai 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 2
Points : 0
Points : 0
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
lydia99 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h50.


 
 
 
 
Partenaires

Hébergement Web