compteur vu nombre de fois sur articles

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : compteur vu nombre de fois sur articles

Re: compteur vu nombre de fois sur articles

par or 1 » 29 nov. 2018, 13:39

il ne faut pas mélanger les manières de se connecter à mysql, une fois en pdo, une fois avec les fonction dépassées mysql_
à noter qu'il n'est pas nécessaire de faire un select
UPDATE billets SET vu =vu+1 WHERE id_billet=:id_billet
suffit.

compteur vu nombre de fois sur articles

par cmentic » 29 nov. 2018, 10:29

Bjr,

Ayant fait un site Modèle Vu Contrôleur, je souhaite savoir combien de fois un article a été lu. J'ai créé dans ma BDD une colonne "vu" mediumint (8) not null et j'ai fait des recherches sur le net et ai pu trouver des scripts à cet effet. Sauf que lorsque je l'adapte à mon script du modèle et que je veux voir sur ma page vu qui s'affiche correctement sauf qu'en haut s'affiche le message suivant :

Warning: mysql_fetch_row() expects parameter 1 to be resource, null given in /home/clients/site/http/modele/commentaire/get_billets.php on line 69

Le code est le suivant et j'y précise la ligne 69 :
<?php
function get_pdo_instance()
{
   $bdd = null;
   try
   {
      $bdd= new PDO('mysql:host=localhost;dbname=BDD','xxxx','PW');$bdd->exec('SET NAMES utf8');
   }
   catch(Exception $e)
   {
      die('Erreur : '.$e->getMessage());
   }
   return $bdd;
}

function recuperer_billet($id)
{
   $bdd = get_pdo_instance();
   $response = $bdd->prepare('SELECT id_billet, titre1,  contenu1,  DATE_FORMAT(date_de_creation, \'%d/%m/%Y à %Hh%imin%ss\') AS date_de_creation_fr, vu FROM billets WHERE id_billet = :id_billet');
while($vu = mysql_fetch_row($sql)) // c'est la ligne 69
{
$nouvelvue=$vu[0]+1;
mysql_query('UPDATE billets SET vu ='.$nouvelvue.' WHERE id_billet=:id_billet');
}
   $response->bindValue(':id_billet', $id, PDO::PARAM_INT);
   $response->execute();
   return $response->fetch();
}  
Quelqu'un pourrait-il m'aider à comprendre d'où vient l'erreur svp.

Merci pour votre aide.