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

Langage PHP Discussion :

Structure pour un emploi du temps


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 584
    Par défaut Structure pour un emploi du temps
    Bonjour,

    Je vais bientôt commencer un site web pour le bureau reserve de gendarmerie.

    en fait le principe n'est pas compliqué mais je ne sais pas comment structurer ma bdd ^^.

    Du coté administratif, le bureau rentre les jours d'embauche et le nombre de place.
    ca peut être 1 jours de temps en temps ou plusieurs d'affilé.

    Et du coté des reserviste, il donne leur disponibilité sur leur compte.

    Et pour finir, dans l'administration, on croise les jours de disponibilités avec les jours d'embauche.

    est ce que vous auriez une idée sur la structure de la base?

    Merci poru votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 80
    Par défaut
    Quel est le principe du site web en fait ?
    Les réservistes donnent leur disponibilité ( jours ) et le bureau derrière gère les embauches et le nombre de place?
    Essayes de donner un exemple complet et précis de ce que tu veux faire exactement.

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 584
    Par défaut
    Je te remercie de t'intéréssé à mon problème


    En fait le bureau reserve reçoit des demandes de renforts des gendarmeries alentour. besoins de X personnes ce week end ou encore du 01/12 au 07/12.

    Donc d'un coté, le bureau réserve va insérer ces demandes de renfort sur le site dans la partie administration.

    De l'autre coté, les reservistes enregistrent leur disponibilitées dans leur espace membre.
    je suis disponible tel week end, tous les weekd end de décembre, du 29/11 au 10/12.
    Il peut aussi consulter les demandes de renfort et s'y inscrire si il le souhaite.


    On revien à la partie administration, une fois les demandes de renfort enregistré, le bureau peux consulter les personnes répondant au critère de disponibilté ou bien ce qui ont postuler à la demande de renfort.
    Dans l'exemple, la personne disponible du 29/11 au 10/12 pourra être embauché et apparaitra dans la liste des personnes dispo.

    En fait je sais pas trop comment m ettre en place la structure afin de pouvoir gérer tout cela. faire des croisements entre les disponibilités et les demandes de renfort.

  4. #4
    Membre chevronné Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Par défaut
    Bonjour.

    Citation Envoyé par morgan47 Voir le message
    ...
    En fait le bureau reserve reçoit des demandes de renforts des gendarmeries alentour. besoins de X personnes ce week end ou encore du 01/12 au 07/12.

    Donc d'un coté, le bureau réserve va insérer ces demandes de renfort sur le site dans la partie administration.
    ...
    En fait, tu peux faire une table avec ça. Donc, je ne sais pas mais un champ avec la demande, un avec date de début de la demande, un avec date de fin de la demande et un avec le nombre de personnels à fournir.

    Genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    CREATE TABLE IF NOT EXISTS `demande` (
      `id_demande` int(11) NOT NULL AUTO_INCREMENT,
      `demande` varchar(255) NOT NULL,
      `date_debut` date NOT NULL,
      `date_fin` date NOT NULL,
      `nb_personnels` int(11) NOT NULL,
      PRIMARY KEY (`id_demande`)
    );
    Ensuite une table pour les reservistes avec un champ nom et prénom, un champ date_debut_dispo, un champ date_dispo_fin, un champ description_disponibilite (les week ends, en semaine, etc.).

    Bien sur tout ceci n'est qu'un exemple.

    Bonne continuation.

  5. #5
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 584
    Par défaut
    J'avais pensé à une struture un peu similaire, mais je sépare la table réserviste et disponibilité.

    Par contre aprés c'est pour arrivé à croisé, exemple :

    -Demande de renfort du 07/12 au 17/12.

    Réservistes disponibles :
    1: 01/12 au 31/12
    2: 07/12 au 20/12
    3: 07/12 au 09/12
    4:12/12 au 18/12

    Dans ce cas, comment trié les reserviste pour que seul le 1 et le 2 soit affiché car se sont les 2 disponible sur toutes la pèriode.

  6. #6
    Membre chevronné Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Par défaut
    Tu peux par exemple croisé de la sorte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select nom_reserviste.reservistes, date_debut.reservistes, date_fin.reservistes from reservistes, demande where date_debut.reservistes >= date_debut.demande and deta_fin.reservistes <= date_fin.demande
    Bien sur, ce n'est qu'un exemple.

  7. #7
    Membre chevronné Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Par défaut
    Citation Envoyé par morgan47 Voir le message
    J'avais pensé à une struture un peu similaire, mais je sépare la table réserviste et disponibilité.

    Par contre aprés c'est pour arrivé à croisé, exemple :

    -Demande de renfort du 07/12 au 17/12.

    Réservistes disponibles :
    1: 01/12 au 31/12
    2: 07/12 au 20/12
    3: 07/12 au 09/12
    4:12/12 au 18/12

    Dans ce cas, comment trié les reserviste pour que seul le 1 et le 2 soit affiché car se sont les 2 disponible sur toutes la pèriode.
    En relisant cela, les quatre personnes sont disponibles dans cette période.

  8. #8
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 584
    Par défaut
    Elle ne sont pas disponible sur toutes la pèriode. on ne vas pas appellé 2 reservistes pour X jours chacun la ou 1 seul peut faire l'affaire sur toutes la pèriode.

    Enfin je dit ca mais je ne suis pas le bureau reserve. faudrai que je vois cela avec eux pas la suite.

  9. #9
    Membre chevronné Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Par défaut
    Je suis aussi dans le domaine de la défense (AT) et moi, ça ne m'étonnerait même pas. Mais bon, effectivement tu as raison.

    Si on reprend la requête au dessus, tu n'aurais que le troisième qui apparaîtrait en résultat, hors il ne couvre pas la période.

    Il faut donc trouver soit une requête, soit plusieurs qui te permette de remonter le résultat escompté.

    C'est déjà pour toi une base de réflexion.

  10. #10
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 584
    Par défaut
    pour la requète il faut inverser les >= et =<

  11. #11
    Membre chevronné Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Par défaut
    De cette façon le résultat remonté, comportera tous les personnels disponibles dans la zone définie mais pas en dedans.

    Imagine qu'il n'y ai qu'un seul réserviste qui soit disponible un jour après le début de la demande sur une période qui va jusque un jour avant la fin, et bien ton résultat sera aucun.

  12. #12
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 584
    Par défaut
    à la limite je pourrai faire ces 2 requètes et affiché les 2 résultats :
    Personne dispo pour toutes la pèriode : XXX
    Personne dispo dans la pèriode : XXXX

  13. #13
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 584
    Par défaut
    je me pose une question pour les disponibilités.

    Est ce qu'il ne vaudrai pas que je fasse un enregistrement à chaque jours de disponibilité? au lieu de faire un enregistremenr par pèriode de dispo?

  14. #14
    Membre chevronné Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Par défaut
    Citation Envoyé par morgan47 Voir le message
    je me pose une question pour les disponibilités.

    Est ce qu'il ne vaudrait pas que je fasse un enregistrement à chaque jour de disponibilité? au lieu de faire un enregistrement par période de dispo?
    Pour qui ? Le réserviste ou la demande ?

    Parce que si c'est pour le réserviste, tu n'imagines quand même pas que le gars va rentrer au travers d'un formulaire chaque date de disponibilité. Enfin je l'espère.

    Sinon pour la demande je ne pense pas que ce soit une bonne piste, tu imagines la taille de la bdd et le nombre de requête à faire pour vérifier chaque date de chaque demande et voir si elle colle avec une disponibilité.

    A la limite, le contrôle peut s'effectuer sur le mois de la date de disponibilité d'un réserviste et celui de la demande. Si les deux mois sont identiques, faire ressortir tous les réservistes dans ce mois et faire une seconde sélection sur les jours par exemple.

  15. #15
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 584
    Par défaut
    Oui je parlais du reserviste.
    mais sans changé le fait qu'il choisisse une date de début et de fin de dispo, mais par la suite avec une boucle faire un enregistrement pour chaque jours.

    Comme ca par la suite il serait trés facile de connaitre le nombre de jour disponible dans la pèriode de renfort (group by et count). c'est pour faciliter la gestion.

    Avec une requète de ce type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $sql = "SELECT count(date) as nbrjour FROM reserv_dispo WHERE date_debut.reservistes >= date_debut.demande and date_fin.reservistes <= date_fin.demande  GROUP BY idreserviste";
    $req = mysql_query($sql);
     
    while ($result = mysql_fetch_array ($req95))
    {
    	$nbrjour = $result['nbrjour'];
                 $idreserviste = $result['idreserviste'];
    	$resultat[$nbrjour] = $resultat[$nbrjour ] + 1;
    }
    puis une boucle pour afficher le tableau $resultat
    On aura donc le nombre de jour dispo avec le nombre de reserviste:
    5 jours(3)
    6 jours(2)

Discussions similaires

  1. Création de userform pour un emploi du temps
    Par FREDO971 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 20/02/2013, 18h18
  2. Quel widget utiliser pour un emploi du temps
    Par nicolas2117 dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 17/02/2011, 16h09
  3. [MySQL] Script PHP pour un emploi du temps
    Par cerco1 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 12/12/2008, 19h31
  4. Réponses: 3
    Dernier message: 05/11/2007, 18h48
  5. Quelle base de données pour un emploi du temps
    Par edouard21 dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 26/10/2005, 23h48

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