2017-10-17 23 views
0

Je travaille sur un projet où admin ajoute tous les détails d'inscription de l'utilisateur et crée le compte pour l'utilisateur. L'utilisateur utilise ce compte jusqu'à ce que l'utilisateur travaille pour cet administrateur. Si l'utilisateur quitte cet administrateur, l'administrateur désactive le compte au lieu de supprimer le compte. Il se désactive parce qu'à l'avenir, si le même employé revient, il réactivera simplement le compte.Activer et désactiver un compte

Je stocke toutes les données utilisateur dans la base de données et maintenant en mesure d'ajouter un compte, modifier le compte, supprimer le compte. Mais au lieu de supprimer je veux désactiver à nouveau afin que je puisse réactiver à nouveau comme mentionné ci-dessus

Répondre

0

Ajoutez une colonne de drapeaux dans votre tableau d'enregistrement des utilisateurs, et vérifiez à chaque fois si un utilisateur est actif ou non et prenez les mesures appropriées en conséquence.

Voici un exemple (avec quelques hypothèses que vous ne l'avez pas partagé votre code): -

En supposant, vous avez la table d'enregistrement utilisateur nommé users qui contient 4 champs.

users(id, name, email, password)

Maintenant, ajouter une colonne à lui dire state, structure de la table alors mise à jour ressemble un peu à ce sujet.

users(id, name, email, password, state)

lorsque l'utilisateur tente de se connecter, vous pourriez être listez comme ça,

Select count(*) from users where email = <email_of_user> AND password = <pass_of_user>;

changement à cela;

Select count(*) from users where email = <email_of_user> AND password = <pass_of_user> AND state = 'ACTIVE'; // you can use any value to denote active/inactive user.

et si votre administrateur supprime un compte, ne fait pas tirer une requête delete à la base de données, simplement mettre à jour l'état de l'utilisateur comme « INACTIVE ».

par exemple:

UPDATE users SET state = 'INACTIVE' where email = <email_of_user>;

Hope this efface tous les points dont vous avez besoin ou tout au moins vous donne une idée de travailler autour d'elle.

0

Ma solution est que le compte de suppression mettra à jour la colonne spécifique de la base de données comme IS_ACTIVE, cette colonne sera A pour Active et N pour Non Actif par exemple.

Dans vos requêtes de sélection/affichage et mise à jour, vérifiez toujours que IS_ACTIVE est égal à une valeur.

  1. ajouter le compte va créer avec is_active = A
  2. compte modifier mettra à jour uniquement les enregistrements avec is_active = A
  3. supprimer le compte mettra à jour uniquement les enregistrements avec is_active = A à is_active = N

De cette façon, vous n'aurez jamais besoin de supprimer des enregistrements.

+0

semble que cela pourrait fonctionner. Pouvez-vous élaborer chaque phase en détail? – Bhagawat

+0

ajouter des détails pour chaque action – user7294900

0

La solution la plus simple consiste à ajouter un champ ex: Activé dans la base de données.

... alors vous pouvez ajuster votre logique d'application en conséquence.

Peut-être que d'autres champs seraient utiles comme LastDeleteDate, ou DeletedBy ... Les possibilités sont infinies.