Besoin d'aide ?

Empêcher les inscriptions multiple dans un système de réservation

  • Avatar de KYoann
    Membre depuis :
    11/02/2019
    Messages :
    39

    Bonjour,

    J'ai un calendrier avec la possibilité de prendre un RDV par plage de 30mins

    J'ai besoin de mettre au point un système pour empecher que plusieurs personnes ne puisse s'inscrire à un même RDV, je pensais utiliser les transactions, mais je ne suis pas sur que ce soit la bonne techno à utiliser.

    En vous remerciant.

  • Avatar de MakoubaSetho
    Membre depuis :
    16/10/2017
    Messages :
    29

    Bonjour,
    Du détail technique serait le bienvenu je pense ..
    Comment gère tu tes Utilisateurs ainsi que tes Rendez-Vous ?

    Là je comprends des plages de Rendez-Vous préétablies sur un calendrier commun,
    Un utilisateur séléctionne un RDV libre pour s'y inscrire, tu veux que 2 utilisateurs ne puissent pas prendre le même ...

    Si tu gère tout ça c'est en Base de Données,
    Alors la relation RDV --> User est 0,1 (Un RDV n'as pas, ou un seul et unique utilisateur), et c'est réglé .. ?

    Si tu n'arrive où ne souhaite pas procédé ainsi, ton RDV peut aussi avoir un champs "libre" à vrai où faux,
    Qui deviens faux une fois réservé par quelqu'un, facilitant l'affichage des RDV disponibles ..

    Si les plages ne sont pas préétablies, et qu'un utilisateur séléctionne juste une période de 30 min sur le calendrier,
    Là encore, si tu gère ça en base, ça ne doit pas être un problème !

    Si tes dates de départ et de fin de RDV sont des Datetimes, tu peux les définir comme "Unique" dans ta base pour empêcher 2 RDV sur le même temps, où encore vérifier à l'enregistrement que ce n'est pas déjà prit, voir même dès la saise en JS...

    T'est-il possible de nous préciser le cadre fonctionnel pour ton système ?

  • Avatar de KYoann
    Membre depuis :
    11/02/2019
    Messages :
    39

    Bonjour @MakoubaSetho

    En faite il s'agit d'une plateforme de pré-inscription qui est très solicité, l'ancienne version à causé beaucoup de souci avec une centaine de personne ayant le même RDV. Je sais pas ou ils ont merdé, mais y'avais surrement des lacunes au niveau de la structure de la base. ce qui à donnée l'idée d'une table de rdv.

    Je veux donc faire une interface qui permet de choisir 3 demi journée (si il reste des dispo) qui proposera différent RDV possible sur ces trois demi journée, le RDV devra être confirmé par l'utilisateur.

    Donc oui effectivement, l'idée était bien d'avoir une table de rendez-vous pré-enregistrés, avec l'id de l'utilisateur en clé étrangère. peut être une table tampon contenant la listes des utilisateurs ayant affiché ces choix.

    Ce que je veux éviter, c'est surtout de ne pas avoir des écrassements de donnée suite à des requetes excecuté simultanément, même si rien n'est jamais excécuté simultanément ^^.

    L'utilisation de requete UPDATE avec en condition un select du premier RDV n'ayant pas d'id d'utilisateur devrait faire sont office.

    Pour en revenir à ton commentaire, L'idée d'avoir une clé unique constitué d'une période n'est pas bête !

Vous ne pouvez pas répondre à ce sujet.