Comment récupérer le nombre de vue d'un article ?
- Accueil
- Forum
- Programmation
- PHP
- Comment récupérer le nombre de vue d'un article ?
Skill_DuTigre Le 20 août 2016 à 15:22 (Édité le 25 janvier 2019 à 17:52)
Mais je ne comprends pas comment cela fonctionne... Et quand je test le code j'ai l'erreur suivante :
"Fatal error: Uncaught PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'id_article' cannot be null in C:\Program Files (x86)\Ampps\www\ana\article.php:70 Stack trace: #0 C:\Program Files (x86)\Ampps\www\ana\article.php(70): PDOStatement->execute(Array) #1 {main} thrown in C:\Program Files (x86)\Ampps\www\ana\article.php on line 70".
Une idée ? 😀
TheFlameflo Le 20 août 2016 à 16:30 (Édité le 1 janvier 1970 à 01:00)
Pourrais-tu nous donner un petit bout de code, autour de la ligne 70 comme il est écrit dans ton erreur
Sinon, on peut voir qu'on parle de la colonne id_article qui ne peut pas être null. Essaye de voir si il y a quelque chose avec ca, tu as peut-être oublié l'auto-increment. 😉
J’espère t’avoir aidé ! 😄
Skill_DuTigre Le 20 août 2016 à 18:41 (Édité le 1 janvier 1970 à 01:00)
} else {
$addview = $bdd->prepare('INSERT INTO vues(ip,id_article,unix_time) VALUES (?,?,?)');
$addview->execute(array($userip,$id_article,$unixactual));
}
Ligne 70 : $addview->execute(array($userip,$id_article,$unixactual));
Je ne pense pas pour l'auto-increment parce que j'ai respecter le schéma de la table présente en commentaire. 😀 TheFlameflo Le 20 août 2016 à 19:47 (Édité le 1 janvier 1970 à 01:00)
Désolé pour l'auto-increment, je n'avais pas pris le temps d'aller voir dans le lien que tu as fourni.
Sur le code de PrimFX, on ne définit pas la variable $id_article, donc, tu dois la définir afin de la rentrer dans la bdd.
Comme on peut voir avec l'erreur que tu as fourni, on dit que la colonne id_article ne peut pas être vide.
Donc, si tu ne définis pas la variable $id_article à autre chose que null. PDO te renverras une erreur, car tu ne fournis pas le paramètre.
Il suffit donc de définir $id_article ! 😄
J'espère t'avoir aidé !
MisterCode Le 20 août 2016 à 20:00 (Édité le 1 janvier 1970 à 01:00)
Donc il faut lui dire que "id_article" de la table "vues" est égale a "id" de la table "articles" ?
Si oui comment faire ça ? Et si non, comment la définir ? 😋
Merci 😀
Balatharas Le 20 août 2016 à 21:03 (Édité le 20 août 2016 à 21:06)
<?php session_start(); ?><?phpif(file_exists('compteur_visites.txt')){
$compteur_f = fopen('compteur_visites.txt', 'r+'); $compte = fgets($compteur_f);}
else{
$compteur_f = fopen('compteur_visites.txt', 'a+'); $compte = 0;}
if(!isset($_SESSION['compteur_de_visite'])){
$_SESSION['compteur_de_visite'] = 'visite'; $compte++; fseek($compteur_f, 0); fputs($compteur_f, $compte);}
fclose($compteur_f);echo '<strong>'.$compte.'</strong> visites.';?>
Code par @Ades03Alors en gros ce code va créer un fichier texte dans le même dossier que le fichier qui contient le code, dès que la page va être visitée.
Par contre il faudra l'adapter si le compte doit être fait dans une autre page.
Je te laisse faire 😉