Réaliser option 'vue X fois' en php/sql

Résolu/Fermé
Bob38 - 2 oct. 2009 à 11:51
Vigli Messages postés 166 Date d'inscription mercredi 5 décembre 2007 Statut Membre Dernière intervention 5 juillet 2010 - 2 oct. 2009 à 12:39
Bonjour, je voudrais pour mon site réaliser une option.
J'ai un site avec des articles et je voudrais qu'à chaque fois qu'un membre vient lire l'article, sa ajoute '+1', et donc faire un compteur de lecture.
Je voudrais donc faire l'option: Article lue X fois.

Cependant je ne sais pas comment faire. J'ai des bases en PHP (je connais la théorie, j'ai lue et appris tout un tas de cours) mais pour la mise en pratique d'une telle option je bloque.
Je m'orientais vers cela; créer un champs 'nb_vues' dans ma table articles puis à chaque chargement d'un article faire un auto incrementation '+1' dans ce champs.

Seulement je ne sais pas du tout si c'est la bonne solution, et je ne sais pas vraiment comment la mettre en place. Je sais que cela pourrait être simple, de plus mes articles sont disponibles de façon simple: articles.php?id## donc je n'aurais qu'à mettre le bout de script qui auto-incrémente sur la page articles.php.

Enfin, je ne sais pas du tout si ma solution est la bonne, si oui ou non, quelqu'un pourrait-il m'indiquer comment faire ou au pire (voire au mieux) m'indiquer une autre méthode qui permet de faire cela.

Merci bien d'avance et bonne journée.

2 réponses

Vigli Messages postés 166 Date d'inscription mercredi 5 décembre 2007 Statut Membre Dernière intervention 5 juillet 2010 26
2 oct. 2009 à 12:39
Bonjour, alors vite fais, je ferais:

mysql_connect("localhost", "root", "##"); // Connexion à ton MySQL
mysql_select_db("db_name"); // Sélection de ta base articles 
$query ='UPDATE db_name SET nb_vue = nb_vue+1 WHERE ID = '.mysql_real_escape_string($_GET['ID']); 
$result=mysql_query($query); 
$row = mysql_fetch_assoc($result);

Ensuite tu t'arrange pour faire un echo du resultat (encore une fois avec mysql_real_escape_string($_GET['ID']) ) puis tu penses aussi à sécuriser pour ne pas qu'à chaque actualisation sa compte comme +1 (enregistrement d'IP etc...).

Sinon tu as la solution de 'webmaster09' qui est aussi utilisable, c'est une bonne idée, mais comme tu as demandé par PHP/MySQL, je te fourni ton code souhaité.

Bonne journée.
1
webmaster09 Messages postés 398 Date d'inscription mercredi 3 septembre 2008 Statut Membre Dernière intervention 22 avril 2010 29
2 oct. 2009 à 11:54
je n'utiliserais pas SQL pour quelque chose d'aussi simple, je te conseil de plutôt aller faire un tour vers les fichiers.

Sur chaque ligne tu met le nombre de fois qu'a étais vue ton article. Et pour savoir quel article équivaux a quelle ligne tu compare avec l'ID .

D'autre idée ?
0