簡體   English   中英

如何修復我的代碼,以便在按下按鈕時它只會增加相應帖子的投票數?

[英]How do I fix my code so that when the button is pressed it will only increment the vote count of the corresponding post?

我知道按鈕的值是選擇 id 的值,但是當我嘗試將其切換為變量時它不起作用,因此該按鈕只會在單擊時增加我的數據庫中的第一個帖子。 我的目標是讓它增加其相應帖子的投票計數。 請注意,帖子是隨機選擇的。 這是我的代碼。

<?php
    $mysqli = new mysqli('localhost', 'root', '', 'phplikes');
    $sql = "SELECT vote from meme_vote";
    $result = $mysqli->query($sql);
    $vote  = $result->fetch_assoc();
    if (!empty($_POST)) {
        $sql1 = "UPDATE meme_vote set vote = (vote + 1) where id =  ". $_POST['id'];
        $result = $mysqli->query($sql1);
        $result2 = $mysqli->query($sql);
        $vote = $result2->fetch_assoc();
        echo json_encode($vote);die();
    }
    
    
    $con = mysqli_connect('localhost', 'root', '', 'phplikes');
    $fetchVideos = mysqli_query($con, "SELECT video_location FROM meme_vote
    ORDER BY RAND()
    LIMIT 1");
         while($row = mysqli_fetch_assoc($fetchVideos)){
           $location = $row['video_location'];
   
       echo "<div >";
       echo "<video src='".$location."' controls width='200px' height='200px' >";
       echo "</div>";
     
 
         echo "<div class='meme'>";
echo "<button type='button' id='press_me' value='1'>waat</button>";    
 echo '<p>Post 2<div id="votes">'.$vote['vote'].'</div>'; 
    echo "</div>";
 }
     
?>

<html>
<style>
    #votess {
        position: relative; top: 230px ; left: 50px;
    }
    #testvid {
        position: relative; bottom: 230px ; left: 300px;
    }
    
    }
    </style>
</html>
           
           
  
<?php

?>

<html>
<script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous"></script>



</html>


<script>
    $(function() {
        $('#press_me').click(function() {
            var postid = $(this).val();
            var request = $.ajax({
                type: "POST",
                url: "memeVote.php",
                data: {
                    'id': postid
                }
            }).done(function(data) {
                obj = JSON.parse(data);
                $("#votes").text(obj.vote);
            });
        });
});
</script>

您可以像下面這樣更改按鈕,以便它僅傳遞相應帖子的id ,即:

echo "<button type='button' data-value ='".$row['id']."' class='press_me' value='1'>waat</button>";

現在, data-value將具有特定帖子id的值,並將您的id更改為class 然后,您的jquery代碼將如下所示:

//change id to class
$('.press_me').click(function() {
  var postid = $(this).attr('data-value');//get attr value
  //your ajax call
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM