【发布时间】: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 错误。这些值被正确提取。我已经做了很多工作来把它放在一起,但我在这一点上被卡住了,因为我不明白为什么第一行会识别出这个动作而不是其他的。