我试图使用ajax和mysql来制作喜欢的系统。
单击添加,就像点赞,然后再次单击,像分钟1。
我想要,当我单击“与众不同”时,它将恢复为“喜欢”。
但是,这与直到负号不同。

这是我的mysql

<?php
    include 'connect.php';
    session_start();
    $ip=$_SESSION['id'];
    if ($_POST['id'])
       {
    $id=$_POST['id'];
    $ip_sql=mysql_query("select id_user from social where track_id='$id' and       id_user='$ip'");
    $count=mysql_num_rows($ip_sql);
    if ($count==0)
    {
        $sql = "update track set jumlah_like=jumlah_like+1 where track_id='$id'";
        mysql_query($sql);
        $sql_in = "insert into social (id_user,track_id) values ('$ip','$id')";
        mysql_query($sql_in);
        $result=mysql_query("select jumlah_like from track where track_id='$id'");
        $row=mysql_fetch_array($result);
        $love=$row['jumlah_like'];

?>
        <span class="broke_love" align="left"><?php echo $love; ?></span>
<?php
}
else
{
        $sql = "update track set jumlah_like=jumlah_like-1 where track_id='$id'";
        mysql_query($sql);
        //$sql_in = "insert into social (id_user,track_id) values ('$ip','$id')";
        //mysql_query($sql_in);
        $result=mysql_query("select jumlah_like from track where track_id='$id'");
        $row=mysql_fetch_array($result);
        $love=$row['jumlah_like'];
        echo "<span class=on_img align=left>$love</span>";
}
}
?>

最佳答案

问题是算法导致您的按钮卡在“不一样”上。

您的基本条件是:if ($count==0)总是在语句$sql_in = "insert into social (id_user,track_id) values ('$ip','$id')"; is run.之后返回大于0的值。

因此,您的代码会陷入始终执行else的状态,并不断减少喜欢的代码。

您需要更改逻辑以使其更多:


检查是否存在喜欢的对象,并为特定用户添加。
如果已经存在类似记录,则删除类似记录。

关于mysql - 如何做喜欢和不喜欢,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17193727/

10-13 02:03