За последние 24 часа нас посетили 20175 программистов и 1081 робот. Сейчас ищут 745 программистов ...

Не обновляется счётчик ajax

Тема в разделе "PHP для новичков", создана пользователем AbogusGames, 4 май 2021.

  1. AbogusGames

    AbogusGames Новичок

    С нами с:
    10 ноя 2020
    Сообщения:
    45
    Симпатии:
    0
    Здравствуйте,я отправил ajax но счётчик почему-то не обновляется, в консоли сколько лайков выводится.

    Код (Javascript):
    1. $(document).ready(function () {
    2.     $('#likebtn').click(function () {
    3.         var params = {
    4.             'id': $('#getpostid').val()
    5.         };
    6.         $.post('/includes/likeme.php', params, function (data) {
    7.             if(data.postid != '') {
    8.                 console.log(data);
    9.                 $('.post_like').html(data.likesCount);
    10.             }
    11.         });
    12.     });
    13. });
    скрипт

    PHP:
    1. <?php
    2. require_once('../admin/inc/check.php');
    3. require_once('../admin/inc/config.php');
    4. $userlogin = $_COOKIE['user'];
    5. $postid = $_POST['id'];
    6. $getlikecount = $mysql->query("SELECT COUNT(`from`) AS `likecount` FROM `likes` WHERE `from` = '$userlogin'");
    7. $likecount = $getlikecount->fetch_assoc()['likecount'];
    8. // Берём значения
    9. $all_likes = $mysql->query("SELECT * FROM `likes` WHERE `from` = '$userlogin'");
    10. $likes = $all_likes->fetch_array();
    11.     if(empty($likes)) {
    12.         $mysql->query("INSERT INTO `likes` (`to`, `from`, `postid`) VALUES('$userlogin', '$userlogin', '$postid')");
    13.         $mysql->query("UPDATE `posts` SET `likes` = '$likecount' WHERE `userlogin` = '$userlogin'  AND `id` = '$postid'");
    14.             $arr = array('postid' => $postid, 'likesCount' => $likecount);
    15.  
    16.             echo json_encode($arr);
    17.     }
    18.     else if($likes != '') {
    19.         if($likes['from'] == $userlogin && $postid == $postid) {
    20.             $mysql->query("DELETE FROM `likes` WHERE `from` = '$userlogin'  AND `postid` = '$postid'");
    21.             $mysql->query("UPDATE `posts` SET `likes` = '$likecount' WHERE `userlogin` = '$userlogin' AND `id` = '$postid'");
    22.             $arr = array('postid' => $postid, 'likesCount' => $likecount);
    23.  
    24.             echo json_encode($arr);
    25.         }
    26.     }
    27. ?>
    Сам элемент который должен обновиться
    HTML:
    1. <h4 class="post_like"><?php echo htmlspecialchars($user_posts[$i]['likes']) ?></h4>
    И вывод в консоли

    {"postid":"28","likesCount":"0"}
    {"postid":"28","likesCount":"1"}
    {"postid":"28","likesCount":"0"}
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.734
    Симпатии:
    1.315
    Адрес:
    Лень
    console.log(data.likesCount); смотри ошибку

    ты строку не перевел в объект
     
  3. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.817
    Симпатии:
    735
    Адрес:
    Татарстан
    Js регистрозависим, likesCount != LikesCount
     
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.734
    Симпатии:
    1.315
    Адрес:
    Лень
    А еще я Атеист, но это тут причем ? o_O