【问题标题】:Issue with Follow/Unfollow buttons关注/取消关注按钮的问题
【发布时间】:2013-01-13 01:58:11
【问题描述】:

我在下面有这个程序,它执行简单的关注/取消关注功能。一切都很好,除了当我刷新页面时,只有该行中的第一个用户保留正确的关注/取消关注按钮。示例我可以关注 user1 user2 和 user3,但是当我刷新时,只有 user1 仍然说 FOllOWING。不确定问题是什么,也许有人可以发现代码中的缺陷。谢谢。

<!DOCTYPE html> 
<html> 
    <head> 


        <link rel="stylesheet" href="style.css" type="text/css" media="screen"/> 
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
        <script type="text/javascript" src="jquery.livequery.js"></script>

        <script type="text/javascript"> 
           $(document).ready(function() { 

                    $('.buttons > a').livequery("click",function(e){

                        var parent  = $(this).parent();
                        var getID   =  parent.attr('id').replace('button_','');

                        $.post("follow.php?id="+getID, {

                        }, function(response){

                            $('#button_'+getID).html($(response).fadeIn('slow'));
                        });
                }); 
            });
        </script>
    </head> 

    <body> 

    <br clear="all" />

        <div id="content"> 

        <br clear="all" />
        <br clear="all" />
        <?php  



        $test = $fgmembersite-> UserID();

            $userip = $_SERVER['REMOTE_ADDR'];

            $result = mysql_query("SELECT fgusers.*, tblimage.* FROM fgusers LEFT JOIN tblimage ON tblimage.userid = fgusers.id_user");

            while ($row = mysql_fetch_array($result))
            {?>
                <div class="digg-panel">

                    <div class="img-username">

                        <img alt="<?php  echo $row['username']?>" src="<?php  echo $row['photo']?>.png" width="40" height="40" class="userImage" alt="" />
                        <div class="user-title">
                            <a href="http://digg.com/<?php  echo $row['username']?>" class="fullname"><?php  echo $row['name']?></a>

                            <a href="http://digg.com/<?php  echo $row['username']?>" class="username"><?php  echo $row['username']?></a>
                        </div>
                    </div>

                    <?php
                    $res = mysql_query("select * from tblfollowers where follower_id = '$test' AND username = ".$row['id']);

                    $check_result = @mysql_num_rows(@$res);

                    if($check_result > 0)
                    {?>
                        <span class="buttons" id="button_<?php echo $row['id_user']?>"><a class="btn-following" href="javascript: void(0)"></a></span>
                        <?php
                    }
                    else
                    {?>
                        <span class="buttons" id="button_<?php echo $row['id_user']?>"><a class="btn-follow" href="javascript:void(0)"></a></span>
                        <?php
                    }?>
                    <br clear="all" />

                    <div class="bio">
                    <?php  echo $row['email']?>
                    </div>

                </div>
            <?php  
            }?>






        </div> 


        <br clear="all" />

    </body> 
</html>

【问题讨论】:

  • 您指出了我们如何出现意外行为,但您没有提及您是否收到任何实际错误(即 javscript 错误、PHP 错误、MySQL 错误)。您是否在您的 javascript 控制台中查找错误?您是否打开了 PHP 错误报告?您是否考虑过使用执行 MySQL 错误处理并查看使用 mysql_error() 可能遇到的任何 DB 错误?您是否尝试在代码中的关键点 var_dump() 某些变量来验证您获得的值是否符合您的期望?这些步骤您应该自行完成。
  • @mike brant 是的,我已经完成了所有这些。没有 MySQL 错误或 php 错误。这些值被正确提取。我已经做了很多工作来把它放在一起,但我在这一点上被卡住了,因为我不明白为什么第一行会识别出这个动作而不是其他的。

标签: php jquery mysql


【解决方案1】:

如果你可以像下面这样实现你的click event。也许你的问题会解决。试试吧。

$('.buttons > a').expire("click").livequery("click",function(e){

});

更多信息请查看jQuery Live Query Plugin Documentation

希望对你有帮助。

【讨论】:

  • 对不起,我试过了,但没有用。当我刷新页面时仍然显示错误的按钮。感谢您的建议
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-30
  • 1970-01-01
  • 2021-03-03
  • 1970-01-01
  • 2021-10-04
相关资源
最近更新 更多