Увеличение / уменьшение переменной на кнопку - PHP Javascript - PullRequest
0 голосов
/ 12 марта 2019

У меня есть кнопка «Мне нравится / не нравится» и поле «Мне нравится», и она отображает переменную, которая получает количество лайков следующим образом:

PHP-HTML:

<span>likes: <?php echo $row['likes'];?></span>
<button type="submit"  class="btn btn-custom btn-sm liketoggle" name ="like">

//Printing 'Like' if its been liked by user, and 'Unlike' if not liked by user
<? $qid = $row['Question_ID']; $query2 = "SELECT * FROM likes WHERE 
       user_id='$user_id' and qid = '$qid'";
      $results2 = mysqli_query($con,$query2);
      if(mysqli_num_rows($results2) == 0){ echo '<span>Like</span>';} 
      else{echo '<span>Unlike</span>';}?></button>

Javascript - для переключения как / в отличие от:

$(".liketoggle").click(function () {
            $(this).find("span").text(function(i, v){
               return v === 'Like' ? 'Unlike' : 'Like'
               return v === 'Unlike' ? 'Like' : 'Unlike'
            })
        });

Есть ли способ, которым я могу увеличить количество лайков ($ row ['likes']), когда пользователь нажимает лайк, и аналогичным образом уменьшать при лайке?

1 Ответ

0 голосов
/ 12 марта 2019

Вы можете использовать js для изменения номера.

<span>likes: <span class="likes-count"><?php echo $row['likes'];?></span></span>
<button type="submit"  class="btn btn-custom btn-sm liketoggle" name ="like">

//Printing 'Like' if its been liked by user, and 'Unlike' if not liked by user
<?php $qid = $row['Question_ID']; $query2 = "SELECT * FROM likes WHERE 
       user_id='$user_id' and qid = '$qid'";
      $results2 = mysqli_query($con,$query2);
      if(mysqli_num_rows($results2) == 0){ echo '<span>Like</span>';} 
      else{echo '<span>Unlike</span>';}?></button>

JS:

$(".liketoggle").click(function () {

            $(this).find("span").text(function(i, v){
               return v === 'Like' ? 'Unlike' : 'Like'
               return v === 'Unlike' ? 'Like' : 'Unlike'
            });

            var likes = $('.likes-count').text();
                likes = likes ? parseInt(likes) : 0;

             if($(this).find("span").text() == 'Like') likes++;
             else if(likes > 0) likes--;

             $('.likes-count').text(likes);

        });
...