par
Ryle » 28 janv. 2021, 13:30
En fait tu n'as besoin que d'une seule table qui contiendra 2 colonnes : la page consultée et l'utilisateur qui l'a consulté.
A chaque fois qu'un utilisateur consulte une page, tu ajoutes une ligne dans cette table pour dire que l'utilisateur N1 a vu la page 1.
Pour reprendre ton exemple ci-dessus, cela se traduirait par :
PAGE_VUE | UTILISATEUR
Page01 | User N1
Page02 | User N1
Page02 | User N2
Il te suffit ensuite d'interroger cette même table pour connaître toutes les pages que l'utilisateur a déjà consulté (N1 a consulté la page 1 et la page 2 et N2 a consulté la page 2). Tu peux aussi vérifier facilement si un utilisateur a consulté une page en particulier : si tu trouves un enregistrement P2 / N2, c'est que l'utilisateur N2 a déjà vu la page P2, si en revanche tu ne trouves pas cette ligne, c'est qu'il ne l'a jamais consultée et tu peux le lui indiquer
L'avantage, c'est que tu n'a pas besoin de modifier la structure de la table quand une nouvelle page est créée, il suffit juste d'insérer une ligne quand elle est consultée.
En fait tu n'as besoin que d'une seule table qui contiendra 2 colonnes : la page consultée et l'utilisateur qui l'a consulté.
A chaque fois qu'un utilisateur consulte une page, tu ajoutes une ligne dans cette table pour dire que l'utilisateur N1 a vu la page 1.
Pour reprendre ton exemple ci-dessus, cela se traduirait par :
[sql]PAGE_VUE | UTILISATEUR
Page01 | User N1
Page02 | User N1
Page02 | User N2[/sql]
Il te suffit ensuite d'interroger cette même table pour connaître toutes les pages que l'utilisateur a déjà consulté (N1 a consulté la page 1 et la page 2 et N2 a consulté la page 2). Tu peux aussi vérifier facilement si un utilisateur a consulté une page en particulier : si tu trouves un enregistrement P2 / N2, c'est que l'utilisateur N2 a déjà vu la page P2, si en revanche tu ne trouves pas cette ligne, c'est qu'il ne l'a jamais consultée et tu peux le lui indiquer :)
L'avantage, c'est que tu n'a pas besoin de modifier la structure de la table quand une nouvelle page est créée, il suffit juste d'insérer une ligne quand elle est consultée.