Partage
  • Partager sur Facebook
  • Partager sur Twitter

Conception table abonnements

Besoin de vos avis !

    12 octobre 2011 à 18:40:01

    Hello,

    Je viens ici pour demander votre aide sur un projet, en fait c'est plus pouvoir savoir si je ne fait pas d'erreur de conception et / ou avoir vos avis sur ma façon de faire (et idée d'améliorations aussi pourquoi pas :) )

    Donc en gros c'est assez "simple" le membre pour avoir accès à certaines partie du site doit payer (via paypal mais ça ne nous intéresse pas ici)

    Celui-ci après plusieurs payements (même après le 1er) aura un historique de ceux ci.
    Il pourra aussi s'il le souhait prolonger son abonnement (sans que le précédant soit effacé) ceci apparaitra dans son historique
    Donc il existe plusieurs abonnement :
    1 mois
    3 mois
    6 mois

    Il pourrait prendre l'abonnement 1 mois puis après une semaine prendre l'abo 6 mois il lui resterait donc 6 mois et 3 semaines

    Voici comment j'organiserais ma table "abonnement" :
    id | id_membre | id_type_abo | date_achat


    Et enfin ma table "type_abo" :
    id | duree | prix



    Grâce à ça je peux dresser un historique (SELECT date_achat FROM abonnement WHERE id_membre = ... avec une jointure pour la durée et le prix, rien de compliquer)

    On peut contrôler pour voir si il à toujours accès à la partie site en sélectionnant date_achat + durée > temps maintenant (NOW())


    Que faut-il faire d'autre ?
    Est-ce une bonne façon de faire ?
    Des suggestions ? Elles sont toutes les bienvenues !


    Merci d'avance !
    • Partager sur Facebook
    • Partager sur Twitter
      13 octobre 2011 à 22:38:20

      Bonjour,

      Conceptuellement, c'est très juste.

      ++
      • Partager sur Facebook
      • Partager sur Twitter
        14 octobre 2011 à 23:30:10

        Merci de ton avis ! :)


        J'en attends d'autre ^^
        • Partager sur Facebook
        • Partager sur Twitter
          15 octobre 2011 à 12:39:10

          Re,

          Je te conseille de faire une vue sur la table membre pour ajouter une colonne de façon à savoir à un instant t pour un membre la date de fin des abonnements cumulés.

          ++
          • Partager sur Facebook
          • Partager sur Twitter
            12 novembre 2011 à 13:54:58

            J'ai une question !

            Avec ma méthode, comment pourrais je faire pour connaitre le nombre de mois déjà utilisé (donc déjà passé depuis le début de l'abo) ?
            J'ai cherché mais je parviens pas à résoudre le problème ! :)

            Merci d'avance de votre aide
            • Partager sur Facebook
            • Partager sur Twitter
              14 novembre 2011 à 19:33:34

              Avec la date de l'achat, la durée de l'abonnement, la date actuelle et une soustraction ce n'est pas hyper complexe...
              • Partager sur Facebook
              • Partager sur Twitter
                14 novembre 2011 à 20:10:59

                Ben duree - (date actuelle - date commande), si c'est positif c'est le nombre de mois restant.
                • Partager sur Facebook
                • Partager sur Twitter
                  14 novembre 2011 à 20:48:49

                  La structure que tu proposes a un problème : quand tu modifies la durée d'un abonnement, tous les utilisateurs qui ont acheté cet abonnement ont leur durée modifiée. Si un mec a payé pour un forfait "machin" de 2 mois et que tu décides de ramener la durée à 1 mois (pour le même prix, évidemment !) il va peut-être pas apprécier !

                  Donc, soit tu ne modifies jamais la table type_abo (quand tu veux créer ou modifier un abonnement, tu te contentes d'ajouter des lignes) soit tu utilises une autre structure.

                  Par exemple (comme pour les sites de e-commerce) on garde dans une table membres_abonnements (équivalent de ta table abonnements) une copie des infos de l'abonnement au moment où le mec a souscrit (donc prix, durée, etc).

                  Et tu gardes dans la table utilisateurs la date d'expiration (tu pourrais aussi la recalculer à la volée).
                  • Partager sur Facebook
                  • Partager sur Twitter

                  Conception table abonnements

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown