2016-08-21 9 views
-2

私はpdoで新しいです。投稿した回数をエコーし​​たいユーザービューを表示するたびに+1が自動的に追加されます。私はint型の長さ16のテーブルビューを作成しました。私のコードは以下の通りです各投稿の閲覧数を取得するpdo

<?php 
     try { 


      $stmt = $db->query('SELECT postID, postTitle, postDesc, postDate, views FROM blog_posts ORDER BY postID ASC'); 
      while($row = $stmt->fetch()){ 

       echo '<div>'; 
        echo '<h1><a href="viewpost.php?id='.$row['postID'].'">'.$row['postTitle'].'</a></h1>'; 
        echo '<p>Posted on '.date('jS M Y H:i:s', strtotime($row['postDate'])).'</p>'; 
        echo '<p>'.$row['postDesc'].'</p>'; 
        echo $row['views']; echo "times";   
        echo '<p><a href="viewpost.php?id='.$row['postID'].'">Read More</a></p>'; 
        $stmt = $db->prepare('UPDATE blog_posts SET views = views+1 WHERE postID = :postID') ;      
       echo '</div>'; 

       } 

     } catch(PDOException $e) { 
      echo $e->getMessage(); 
     } 
    ?> 
+0

だから問題は何ですか? – Mureinik

+0

その返信0回 – user2393918

+0

投稿回数を表示したいが、いつも0回返す – user2393918

答えて

0

ただ、更新ステートメントを準備するだけで、prepareステートメントを実行しないでください。

$stmt = $db->prepare('UPDATE blog_posts SET views = views+1 WHERE postID = :postID') ; 

$stmt->execute(array(':postID'=>$row['postID'])); 
関連する問題