Gestion des événements

Gestion des événements - SQL/NoSQL - Programmation

Marsh Posté le 26-05-2008 à 16:41:39    

Bonjour tout le monde,
Je suis en galère... je vous explique :
 
Je suis en train de coder un module accessible sur login, où, suivant les droits de la personne qui se log, l'on peut déposer des documents et news ou les lire.
Jusque là, ça va : php et mysql.
 
Maintenant, j'aimerais que la personne qui se connecte voit les nouveaux doc ou news déposés par un autre. Par nouveaux, il s'agit des documents ou news pas encore lus, pas ceux déposés plus récemment que le dernier login...
C'est à ce niveau que je me perds....
 
Je pensais faire une table "events" dans laquelle j'inscris chaque "événement", c a d à chaque fois que quelqu'un dépose ou lit quelque chose.
Dans ma tête, elle ressemblerait à ça : events(id, user_id, event_type, module, event_id)
- L'event_type serait soit 1 pour un dépôt soit 2 pour une lecture
- le module correspondrait au type : soit 1 (news), soit 2 (document), soit 3 (mise à jour de l'emploi du temps)
- event_id correspond à l'id de ce qui vient d'être visualisé
 
Là, j'ai bien la liste de tous les "événements", dépôt et lecture, le tout typé.
Maintenant, je veux récupérer l'ensemble des dépôts pas encore lu par un utilisateur donné.
 
Je trouve pas la requête.... please, help me !
 
En gros, un truc à la gmail, qui met les mails non lus en gras.... sauf que là, il n'y a pas que des mails...
 
Merci d'avance,
rdmoshpit

Reply

Marsh Posté le 26-05-2008 à 16:41:39   

Reply

Marsh Posté le 26-05-2008 à 16:49:23    

Tu as essayé quoi? j'ai du mal à saisir le problème là...


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 26-05-2008 à 16:55:18    

euh... en fait, pour l'instant j'ai rien essayé, je n'arrive pas à le modéliser...
C'est un modulé pour des étudiants.
Lorsqu'un prof poste un nouveau cours, il faut que lorsqu'un étudiant qui se log et ne l'a pas encore regardé, ca doit lui afficher qu'il ne l'a pas encore regardé, idem pour les news et l'emploi du temps

Reply

Marsh Posté le 26-05-2008 à 16:55:31    

je ne sais pas si c'est plus clair...

Reply

Marsh Posté le 26-05-2008 à 17:06:47    

bah vue la structure que tu as prévue quel est le problème? Il suffit que ta requête aille chercher tous les documents pour lesquels il n'existe pas d'événement "lu" pour l'étudiant connecté, non?


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 26-05-2008 à 17:13:59    

merci skeye pour ta réponse.
C'est exactement là tout mon problème ;)
 
j'ai une idée :
SELECT module, event_id  
FROM events  
WHERE event_type=1  
AND id NOT IN (SELECT id FROM EVENTS WHERE user_id='' and event_type=2);
 
Qu'est-ce que tu en penses ? Ca pourrait marcher à ton avis ?
Je vais commencer à implémenter pour faire le test.

Reply

Marsh Posté le 26-05-2008 à 17:15:47    

a priori ça marcherait oui. :D


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 26-05-2008 à 17:18:43    

Nikel ! J'essaye ça et je te (vous chères lecteurs) tiens au courant !
A plus

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed