7
votes

PHP & MySQL meilleur moyen de compter les vues de page pour les pages dynamiques

Quelle est la meilleure façon de compter les vues de page des pages dynamiques comme l'exemple d'URL ci-dessous? J'utilise php et mysql. Une brève explication aiderait. Merci!

http://www.example.com/posts/post.php? id = 3


3 commentaires

localhost signifie "sur cet ordinateur". Je soupçonne que le lien ne fonctionnera que sur votre ordinateur, car personne d'autre n'a le même code :)


Je vais le changer plus tard sur une fois sur un vrai serveur http://www.example.com/ lol :)


Ah ok. Pensait qu'il y avait quelque chose que je pouvais voir sur cette adresse: D


6 Réponses :


10
votes

Habituellement, la structure de la table ressemble à ceci:

pages de table: p> xxx pré>

table_views: p> xxx pré>

où pages_views a un index unique sur page_id code> p>

L'instruction MySQL pour incrémenter les vues, puis ressemble comme suit: P>

INSERT INTO `pages_views` SET views=1 WHERE page_id=?
    ON DUPLICATE KEY UPDATE views=views+1 ;


1 commentaires

@DDB tant que vous pouvez identifier vos pages. En fait, mod_rewrite a un très peu à voir avec votre question



0
votes

Il suffit d'augmenter un entier sur le post que vous servez actuellement.


0 commentaires

4
votes

Eh bien, vous pouvez simplement ajouter un champ pageViews à la table des pages et faire updateviews = pageViews +1 où id = 1 requête sur chaque page charge


1 commentaires

Cela fonctionne, oui. J'ai suggéré une table séparée, car le contenu de la CMS ne change pas souvent (surtout lit sur pages ), tandis que les vues changent tout le temps (lit + écrit sur pages_views ).



0
votes

Un exemple simple peut être trouvé sur http://www.configure-all.com/ Page_View_counter.php


0 commentaires

4
votes

Par souci de visualisation de statistiques par jour / semaine / mois / année, j'ai fait deux tables. Les premières archives toutes visites sur le site avec ma page et ID enregistrées sur la même ligne. La deuxième table enregistre des conclusions, telles que Piskvor décrit.

La prestation est que je peux voir des statistiques pour n'importe quelle page et ID que je souhaite au fil du temps (mais cela sera beaucoup de lignes au fil du temps ...) Ou je peux Afficher simplement Total des vues. Pour les visiteurs de mon site, je sert des informations à partir de cette deuxième table, mais mon panneau d'administration utilise pleinement la première table. P>

statsTotal

 - statTotalID
 - page
 - id
 - total


1 commentaires

Agréable. Bon pour suivre les modèles d'utilisation par utilisateur.



5
votes

Ceci est mon code et cela fonctionne correctement lorsque j'ouvre la page ou lorsque je rafraîchis la page, les vues de la page incrémentent par 1. Si la page_Id n'existe pas, elle insérera un enregistrement avec Vues = 1, si la page_id existe Il incremportera les vues xxx

avec PDO, vous aurez quelque chose comme celui-ci xxx


0 commentaires