jquery ajax php -проблема с многократным запуском jquery-кода - PullRequest
0 голосов
/ 02 декабря 2018

я написал несколько кодов, чтобы создать лайк для поста.тогда я нажимаю на фотографию, чтобы изменить изображение, и добавляю одно число к числам лайков, а затем снова, когда я нажимаю на нее, возвращаюсь к предыдущему.код, который я написал, хорошо работает как для клика «вставить», так и для «расширенного» запроса, и когда я нажимаю на фотографию, изображение меняется, и число увеличивается, но если я нажимаю снова, оно больше не работает иЯ должен обновить страницу Agane для работы.index.php:

<?php 
$pgt=1;
$uid=1;
$pst="SELECT * FROM `tbl_users_posts` WHERE id='$pgt'";
    $rzp=mysqli_query($conn,$pst);
    $rpz=mysqli_fetch_assoc($rzp);
        $sid=$rpz['id'];$pos=$rpz['post'];
echo $pos;
?>
<span class="ic_lk ic_">
<?php
$iamlkp="SELECT id FROM `t_plik` WHERE  pid='$sid'";
    $imlkp=mysqli_query($conn,$iamlkp);
    $mylkp=mysqli_num_rows($imlkp);
$iamlkp2="SELECT id FROM `t_plik` WHERE  pid='$sid' AND uid='$uid'";
    $imlkp2=mysqli_query($conn,$iamlkp2);
    $mylkp2=mysqli_num_rows($imlkp2);?>
</span>
<script>
$('document').ready(function(){
    var mylk2= <?php echo $mylkp2;?>;
    var pgt= <?php echo $pgt;?>;
    var uid= <?php echo $uid;?>;

    if(mylk2==0) {
        $('.ic_lk').html('<img class="li_ik1" src="_pc/lk.png"></img>'); 
        }else if(mylk2>0){
        $('.ic_lk').html('<img class="li_ik2" src="_pc/lkm.png"></img>'); 
    }

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

    $.ajax({
    url: "ins.php" ,
    type: 'POST',
        data:{pgt:pgt,uid:uid}
            });
    $(this).replaceWith('<img class="li_ik2" src="_pc/lkm.png"></img>');
    $('.nm_lk').replaceWith('<span class="nm_lk nm_"><?php echo $mylkp+1;?></span>');
});

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

    var mylk2= <?php echo $mylkp2;?>;
    var pgt= <?php echo $pgt;?>;
    var uid= <?php echo $uid;?>;
    var ik1=ik1;
        $.ajax({
                url: "del.php" ,
                type: 'POST',
                data:{pgt:pgt,uid:uid,ik1:ik1}
             });
    $(this).replaceWith('<img class="li_ik1" src="_pc/lk.png"></img>');
    $('.nm_lk').replaceWith('<span class="nm_lk nm_"><?php echo $mylkp-1;?></span>');
    });
}); 
</script>

ins.php:

$sid=$_POST['pgt'];
$uid=$_POST['uid'];
if(isset($_POST['pgt'])){
    $inpp=mysqli_query($conn,"INSERT INTO t_plik (pid,uid)VALUES('$sid','$uid')");
}

del.php:

$sid=$_POST['pgt'];
$uid=$_POST['uid'];
if(isset($_POST['pgt'])){
    $inpp=mysqli_query($conn,"DELETE FROM t_plik WHERE pid='$sid' AND uid='$uid'");
}

спасибо

1 Ответ

0 голосов
/ 02 декабря 2018

это потому, что вы связываете событие onClick с динамически создаваемым span, вам следует попробовать следующее

    <?php 
         $pgt=1;
         $uid=1;
           $pst="SELECT * FROM `tbl_users_posts` WHERE id='$pgt'";
            $rzp=mysqli_query($conn,$pst);
            $rpz=mysqli_fetch_assoc($rzp);
                $sid=$rpz['id'];$pos=$rpz['post'];
          echo $pos;
          ?>
            <div id="like_wrapper">
<span class="ic_lk ic_">
</div>
            <?php
             $iamlkp="SELECT id FROM `t_plik` WHERE  pid='$sid'";
            $imlkp=mysqli_query($conn,$iamlkp);
            $mylkp=mysqli_num_rows($imlkp);
        $iamlkp2="SELECT id FROM `t_plik` WHERE  pid='$sid' AND uid='$uid'";
            $imlkp2=mysqli_query($conn,$iamlkp2);
            $mylkp2=mysqli_num_rows($imlkp2);?>
            </span>
            <script>   
          $('document').ready(function(){ 
        var mylk2= <?php echo $mylkp2;?>;
        var pgt= <?php echo $pgt;?>;
         var uid= <?php echo $uid;?>;

            if(mylk2==0) {
                $('.ic_lk').html('<img class="li_ik1" src="_pc/lk.png"></img>'); 
                }else if(mylk2>0){
                $('.ic_lk').html('<img class="li_ik2" src="_pc/lkm.png"></img>'); 
            }
        $("#like_wrapper").on('click','span.li_ik1',function(){

            $.ajax({
            url: "ins.php" ,
            type: 'POST',
                data:{pgt:pgt,uid:uid}
                    });
            $(this).replaceWith('<img class="li_ik2" src="_pc/lkm.png"></img>');
            $('.nm_lk').replaceWith('<span class="nm_lk nm_"><?php echo $mylkp+1;?></span>');
        });

        $("#like_wrapper").on('click','img.li_ik2',function(){

            var mylk2= <?php echo $mylkp2;?>;
            var pgt= <?php echo $pgt;?>;
            var uid= <?php echo $uid;?>;
            var ik1=ik1;
                $.ajax({
                        url: "del.php" ,
                        type: 'POST',
                        data:{pgt:pgt,uid:uid,ik1:ik1}
                     });
            $(this).replaceWith('<img class="li_ik1" src="_pc/lk.png"></img>');
            $('.nm_lk').replaceWith('<span class="nm_lk nm_"><?php echo $mylkp-1;?></span>');
            });
        }); 
        </script>

Дайте ему попытку и отправьте сообщение, я постараюсь следовать этой теме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...