[PHP] Système de dossiers ...

Système de dossiers ... [PHP] - Programmation

Marsh Posté le 29-06-2002 à 20:33:10    

Hello a tous :hello:
 
Actuellement en train de programmer un forum, je me heurte (Une fois n'est pas coutume :D ) a un problème :??:
 
J'aimerais faire comme ici, a gauche de tous les topics, il ya une icone rouge (http://forum.hardware.fr/images/closedb.gif) ou jaune (http://forum.hardware.fr/images/closed.gif) ; et ce en fonction de s'il ya une nouvelle reponse au topic :)
 
J'ai cherché pas mal de temps dans ma tete, et j'ai tjs reussi a faire ca :/
 
Si vous avez une idée, n'hésitez pas :hello:
 
Merci a tous :jap:


Message édité par Max Evans le 29-06-2002 à 20:33:20

---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 29-06-2002 à 20:33:10   

Reply

Marsh Posté le 29-06-2002 à 21:06:07    

Utilises les cookies ou une authentification sur le site.
Ensuite tu n'as plus qu'a avoir une table "utilisateurs" dans laquelle tu auras un champ qui contient un array.
Ce tableau contient des paires clé/valeur, la clé étant l'ID du topic et la valeur l'ID du dernier message.
Pour chaque visite sur un topic tu complète ou modifie le tableau, soit une nouvelle clé/valeur pour un topic jamais vu, soit tu modifie la valeur dans le cas d'un topic déjà vu.
Dans la page qui liste les topics tu compare la valeur des topics déjà vus avec l'ID du dernier message.

Reply

Marsh Posté le 29-06-2002 à 22:45:58    

Hello :hello:
 
Tout d'abord, merci pour ta reponse ;)
Je suis debutant, du coup, g pas bien compris ce que tu as voulu dire :/
 
Donc, g une table qui s'appelle user où je stocke le login, pass, email, icq, etc etc.
 
Donc, il faut que je créé un nouvo champ c bien ca ?
Mais c quoi un array ? :??:
 
C'est a partir de la que je comprends plus :(
 
 
Encore merci de ton aide ! ;) :jap:


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 29-06-2002 à 23:12:44    

Max Evans, on en a déjà parlé hier, tu as meêm participé à la discussion : http://forum.hardware.fr/forum2.ph [...] h=&subcat=

Reply

Marsh Posté le 29-06-2002 à 23:14:24    

Ben c pas vraiment la meme chose les drapo et les dossiers ;)
Mais sinon, on a jamais eut de reponses concretes  :cry:


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 30-06-2002 à 01:00:15    

j'ai donné tout le code pour le faire avec des cookies là :
http://forum.hardware.fr/forum2.ph [...] h=&subcat=
 
maintenant c'est clair que le faire par bd, c'est plus fiable (un cookie accepte max 4ko).


---------------
...oups kernel error...
Reply

Marsh Posté le 30-06-2002 à 02:39:19    

Hello  :hello:  
 
Merchi pour le code :jap:
Mais la aussi g pas tout compris :(
 
 

Code :
  1. $status= unserialize($HTTP_COOKIE_VARS["status"]);
  2. $status[forum_id][topic_id]= time();
  3. setcookie("status", serialize($status), time()+3600*24*365,"/" );


 

  • Afficher les sujets (détection si le sujet est lu ou pas)
Code :
  1. $status= unserialize($HTTP_COOKIE_VARS["status"]);
  2. if ( isSet($status[forum_id][topic_id]) ){
  3. //le sujet a été lu
  4.   if ($status[forum_id][topic_id]>= $topic["Date"]){
  5.    /* pour l'affichage des forums, on peut vouloir afficher "pas nouveau message" que si il n'y a pas eu de messages après sa dernière visite (et pas uniquement si on a visionné le dernier message comme c'est le cas pour ce forum) .  Dans ce cas on test si le forum a déjà été accédé (isset($status["forum_id"])) et on prend le temps max du cookie avec le temps du dernier topic (max($status["forum_id"]))>=$topic["date"]. */
  6.    //le sujet a été lu et il n'y a pas de nouveau message
  7.   }
  8.   else{
  9.    //le sujet a été lu et il y a un nouveau message
  10.   }
  11. }
  12. else{
  13.   //le sujet n'a jamais été lu
  14. }


 
Le $status[forum_id][topic_id], ca represente koi ?
Je le laisse tel quel, et ca va marcher ? ;)
 
Encore merchi :) :jap:


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 30-06-2002 à 02:50:53    

c'est un tableau à 2 dimensions dont les clés d'accès sont respectivment l'id du forum et l'id du sujet.
tu dois les modifier pour qu'elles correspondent à tes variables.
ex:
l'utilisateur accède au forum 2, sujet 1:
-  il va "dé-sérializer" le cookie (d'une ligne de codes bizarres, il va reformer un tableau)
- puis va modifier le dernier temps d'accès à ce sujet  
$status[2][1]= time();
- puis va réenvoyer le cookie sérializé.
 
qd tu affiches la liste des sujets, tu lis les sujets de ta base, et tu regardes dans le cookie désérializé si le sujet existe et a été lu.


Message édité par ethernal le 30-06-2002 à 02:53:44

---------------
...oups kernel error...
Reply

Marsh Posté le 30-06-2002 à 11:48:46    

Point de vue vitesse cookies ou base de donnée ?

Reply

Marsh Posté le 30-06-2002 à 13:26:42    

Je viens donc de tester, et g un truc comme ca ds mon cookie :
status
a%3A1%3A%7Bs%3A7%3A%22idforum%22%3Ba%3A1%3A%7Bs%3A5%3A%22topic%22%3Bi%3A1025436350%3B%7D%7D
81.67.52.214/
1024
1540748032
29572858
3818414128
29499432
*

 
Chez toi aussi ca donne un truc comme ca ? :??:


Message édité par Max Evans le 30-06-2002 à 13:35:32
Reply

Marsh Posté le 30-06-2002 à 13:26:42   

Reply

Marsh Posté le 30-06-2002 à 13:41:38    

Olivier51> cookie sans aucun doute
Max Evans> oui c normal


---------------
...oups kernel error...
Reply

Marsh Posté le 30-06-2002 à 13:45:37    

ethernal a écrit a écrit :

Olivier51> cookie sans aucun doute
Max Evans> oui c normal




 
Ha ouf oki, parce que la je patoge comme un poisson, je v bientot couler :/
Sinon, c bizzare, ca a pas l'air de marcher :/

Reply

Marsh Posté le 30-06-2002 à 13:46:13    

Arf, merde, g rien dit, g oublié de changer un truc :D
V voir si ca marche ; croisons les doigts ! :)

Reply

Sujets relatifs:

Leave a Replay

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