【问题标题】:I create a like button ,but after refresh the page ,the like count becomes 0我创建了一个点赞按钮,但刷新页面后,点赞数变为0
【发布时间】:2017-03-26 14:44:10
【问题描述】:

我创建了一个点赞按钮,点击它时,首先检查用户是否登录。只有登录后,用户才能点击点赞按钮,点赞数加1。但每次刷新页面,计数再次变为0 .为什么会发生这种情况? html:

<div class="post-footer">
 <div class="flag">
 <span class="flag-wrapper">
 <a class="flag-action" href="#">
 <i class="fa fa-heart-o" ></i>
 <span class="count">0</span>
 <span class="flag-text" >Like this news post</span>
 </a>
 </span>
 </div>
 </div>

jquery:

$(document).ready(function(){
$(document).on("click", ".flag" ,function(){
    //
    var count = $(".count").text();
    //
    var id= $(".ds-subtitle").attr("rel");
    // alert(id);
    alert(count);
     $.ajax({
        url:"functions/php/like.php",
        type:"POST",
        // cache:false,
        data:{count:count,id:id},
        success:function(data){
            // alert(data);
            // console.log(data);
            if (data == "0") {
                alert("do not log in");
                $("#popup-box1").show();
            } 
            if (data == "1"){
                alert("already log in");
                $("#popup-box1").hide();
                // alert();
                 count++;
                $("span .count").text(count);   
            }
        }          
    });
});
});

php:

<?php
session_start();

if (!isset($_SESSION["id"])) {

    echo "0";


}else{
    echo "1";//
    //
    $id= $_POST["id"];
    // 
    $userid = $_SESSION["id"];
    //   
    $conn = mysqli_connect("localhost", "root", "", "maroon5");

    //
    $sql = " INSERT INTO fav (news_id,  user_id) 
             VALUES ('$id', '$userid') ";
    $res = mysqli_query($conn, $sql);


}
?>

【问题讨论】:

  • 代码的哪一部分从数据库中检索点赞数并将其显示给用户?
  • 将 1 添加到 mysql 行需要 UPDATE。您很可能会覆盖您的价值。

标签: php jquery mysql ajax


【解决方案1】:

但是每次刷新页面,计数又变成0

因为你的函数只会被调用onclick

$(document).on("click", ".flag" ,function(){

您可能需要调用相同的方法或刷新方法onload

【讨论】:

    【解决方案2】:

    最后,我解决了这个。我把这个

        <?php
       $conn = mysqli_connect("localhost", "root", "", "maroon5");
    
        $sql1 = " SELECT * FROM fav WHERE news_id=1 ";
        $res1 = mysqli_query($conn, $sql1);
        $nums = mysqli_num_rows($res1);
    
        ?>
        <div class="post-footer">
         <div class="flag">
         <span class="flag-wrapper">
         <a class="flag-action" href="#">
           <i class="fa fa-heart-o" ></i>
             <?php
                echo "<span class='count'>". $nums  ."</span>";
              ?>
               <!-- <span class="count">0</span> -->
                <span class="flag-text" >Like this news post</span>
         </a>
         </span>
          </div>
         </div>
        </article>
        </div>
        </div>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-27
      • 2011-07-24
      相关资源
      最近更新 更多