8768 sujets

Développement web côté serveur, CMS

Bonjour,
j'aimerais lorsqu'un utilisateur se connect sur le site, qu'il y ai un badge qui indique le nombre de nouveaux articles.
L'utilisateur peut aller sur la liste des articles (ordonée par nouvel ajout). Puis lorsque l'utilisateur visite la page de l'article, celui-ci ne soit plus concidéré comme nouveau.

Là je suis vraiment perdu, je ne sais pas trop comment tourner la chose pour que la liste des articles nouveaux soit différente pour chaque utilisateurs.
Salut,

Tu crées une table new_articles avec au moins 2 colonnes : user_id et article_id.
A chaque création d'un article tu crées autant de lignes que d'utilisateurs : chaque ligne contiendra ça : user_id = user_id && article_id = article_id_created.

Dans une boucle (pseudo-code):
foreach( $tous_les_utilisateurs as $utilisateur_id){
    $sql->insert('user_id' => $utilisateur_id, 'article_id' => $id_article_created );
}


Ensuite pour marquer un article comme lu par un utilisateur à chaque chargement de page d'un article, tu supprimes la ligne user_id = user_id_connected && article_id = article_id_opened.

Reste pour finir à afficher et compter les articles de l'utilisateur dans cette table, ils sont nouveaux pour lui !
Modifié par MatthieuR (29 Mar 2016 - 18:51)