IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] incrémenter le champ vu une seule fois pour plusieurs pages


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut [Tableaux] incrémenter le champ vu une seule fois pour plusieurs pages
    Bonjour,

    J'ai un problème sur mon super nouveau forum complètement banal :

    Je veux avoir un champ 'vu' qui indique le nombre de fois que le sujet a été lu.
    Ok.
    Le problème c'est que j'ai un url-rewriting et que si il y a plus de 10 réponses, celle-ci s'affiche sur deux pages, avec une url du genre
    /4-0-10.htm.

    Alors que si on est sur la première page on a une url genre /4.htm

    Donc si un visiteur visite 2 page d'un sujet qui en compte plusieurs et que j'incrémente la table ayant pour id 4, il va me l'incrémenter deux fois ou plus chaque fois qu'il "tournera" une page.

    Et je ne peux pas bloquer sur l'ip, car si le gars change de sujet et revient, il est légitime que le champ 'vu' soit de nouveau updaté.


    Comment puis-je faire pour résoudre cela ?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Je pourrais n'incrémenter que lorsque le visiteur clique sur "répondre", depuis la page de présentation de tous les sujets, mais alors si il arrive directement sur la page via un moteur de recherche, ça ne fonctionnera pas ou on aura le même problème.

  3. #3
    Membre averti Avatar de XtofRoland
    Profil pro
    Inscrit en
    Août 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 357
    Points : 392
    Points
    392
    Par défaut
    <? start_session() ca vaut l'ip non?

  4. #4
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Je sais pas comment c'est fait ailleurs mais je propose ceci :
    VUS(sujet_id, user_id)
    Ensuite un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT count(*)
    FROM vus
    WHERE sujet_id = 123

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Merci pour vos réponses,

    Disais-je donc dans un autre post après mettre trompé de sujet :

    En fait d'après ce que je viens de voir, ce qui se fait sur les autres forums, comme ici, est beaucoup plus simple:

    Chaque fois que l'on visite une page d'un sujet, le champ vu du sujet est incrémenté de 1.

    En fait ça gonfle les statistiques hein.......

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <? start_session() ca vaut l'ip non?
    Je n'ai pas de star_session pour le moment, c'est un forum en libre accès qui bloque les visiteurs qui postent des insultes (merci les membres de développez pour les conseils dans les posts précédents ).

    Pour la solution de mister N je ne pige pas trop, mais comme je l'ai dit au dessus il semble les forums phpBB ne se prennent pas la tête tant que ça...
    Pour les autres type de forum je n'ai pas vérifié.

  7. #7
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Citation Envoyé par psychoBob
    Pour la solution de mister N je ne pige pas trop,
    L'idée est de stocker dans une table quel utilisateur à vu quel sujet, en ignorant le nombre de fois.
    Citation Envoyé par psychoBob
    mais comme je l'ai dit au dessus il semble les forums phpBB ne se prennent pas la tête tant que ça...
    A toi d'innover, sinon utilise directement phpBB au lieu de le re-écrire

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    L'idée est de stocker dans une table quel utilisateur à vu quel sujet, en ignorant le nombre de fois.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    A toi d'innover, sinon utilise directement phpBB au lieu de le re-écrire
    Je verrais à l'occasion comment innover sur ce point, pas fondamental à vrai dire (vu qu'aucun forum ne semble l'avoir pris en compte, ça flatte leurs stats peut être... )

    Pour ce qui est de reprendre phpBB ça ne m'est même pas venu à l'esprit, je n'aime pas les solutions toutes faites.
    Je préfère de loin mon forum perso, que je maitrise de A à Z, sans doute plus difficile à pirater que phpBB que tout le monde connait. Bien sur il manque quelques fonction pour être au niveau mais petit à petit il devrait égaler et même surpasser phpBB, vu que j'ai déjà des fonctions en plus (blocage de l'IP du visiteur utilisant un vocabulaire indésirable etc...).

    Enfin bon, c'est ma philosophie personnelle hein

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD-2010] Modifier plusieurs champs en une seule fois
    Par Sebc1686 dans le forum Word
    Réponses: 5
    Dernier message: 12/03/2013, 09h44
  2. Réponses: 6
    Dernier message: 08/08/2011, 01h07
  3. [Joomla!] Une seule bdd pour plusieurs sites
    Par Imp rusg dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 23/02/2009, 09h16
  4. Réponses: 2
    Dernier message: 10/07/2007, 13h45
  5. [C#] Une seule méthode pour plusieurs composants
    Par niPrM dans le forum Windows Forms
    Réponses: 8
    Dernier message: 01/06/2004, 14h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo