[PHP] Mise à jour de toutes les sessions

Fermé
Sri Lumpa Messages postés 177 Date d'inscription mercredi 14 novembre 2007 Statut Membre Dernière intervention 1 juin 2010 - 20 nov. 2009 à 11:06
Sri Lumpa Messages postés 177 Date d'inscription mercredi 14 novembre 2007 Statut Membre Dernière intervention 1 juin 2010 - 27 nov. 2009 à 11:55
Bonjour,

J'ai développé une interface web en PHP pour de la gestion de fichiers, de tickets etc... Le truc c'est que cette interface doit commencer à gérer beaucoup de fichiers (genre plus de 5.000). Pour éviter d'avoir à chaque accès à recharger la liste des fichiers, je stocke dans une variable de session la liste des fichiers en bonne fois pour toute. Jusque là, pas de soucis...

Maintenant le problème vient du fait que certains utilisateurs (disons les administrateurs) peuvent supprimer des fichiers et tous les utilisateurs peuvent en ajouter. Je sais comment mettre à jour les infos pour la session de l'utilisateur faisant la modification, mais comment mettre à jour les données de TOUTES les sessions ? Quelqu'un a une idée ? Ou est-ce que j'ai une mauvaise approche du problème ?

Merci de vos conseils
A voir également:

3 réponses

scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
20 nov. 2009 à 16:23
Moi je pense que tu as une mauvaise approche du problème.

Je verrais plutôt une requête XMLHttpRequest charger la liste tant qu'elle n'a pas changé chez le client (chez toi les administrateurs).

Car ta session tu ne peux travailler sur celles des autres aussi facilement.
1
Sri Lumpa Messages postés 177 Date d'inscription mercredi 14 novembre 2007 Statut Membre Dernière intervention 1 juin 2010 68
27 nov. 2009 à 11:55
Le "problème" c'est que je serais quand même obligée de recalculer cette liste à chaque accès, même si ce calcul se fait en asynchrone... A moins que je n'ai pas bien compris la solution que tu me proposes.
0
duanration Messages postés 9 Date d'inscription dimanche 6 septembre 2009 Statut Membre Dernière intervention 20 novembre 2009 1
20 nov. 2009 à 16:41
Tu pourrais garder la date(à la seconde près) de la dernière modification de la liste dans une base de donnée (admettons que tu l'appelles 'version').
Au moment de mettre la liste dans les variables de session tu fais une variable $_session['version'] (qui correspond au 'version' de la base de donnée au moment ou la liste a été mise dans les variables de session.
Et à chaque chargement de page tu vérifies si il faut faire une mise à jour ? ca fait qu'une petite requete à la BDD comme ca.
1
J'ai développé une interface web en PHP pour de la gestion de fichiers, de tickets etc... Le truc c'est que cette interface doit commencer à gérer beaucoup de fichiers (genre plus de 5.000). Pour éviter d'avoir à chaque accès à recharger la liste des fichiers, je stocke dans une variable de session la liste des fichiers en bonne fois
0