0

我正在尝试创建一个按钮,该按钮将显示“关注”或“取消关注”,具体取决于当前用户是否关注另一个用户。

如果 John 关注了 Tim,但没有关注 Sarah,那么根据 John 的观点,Web 视图将如下所示:

_________________________________
|                |              |
|       Tim      |   (unfollow) |       
|________________|______________|
|                |              |
|       Sarah    |    (follow)  |       
|________________|______________|

其中 (" ") 表示一个按钮。

我有一个数据库,指示谁跟随谁,但是如何根据对所述数据库的验证显示正确的按钮?

4

2 回答 2

1

假设您有三个字段“name_id”、“name”和“followed”,其中“name_id”是人的 id,“name”是表示人名的字符串,“followed”是布尔值:

<script type="text/javascript">
function toggleFollowing(name_id) {
  window.location = 'toggleFollowing.php?name_id='+name_id;
}
</script>
...
<?php
  ...
  while ($row = $result->fetch_assoc()) {
    echo '<tr>';
    echo '<td>'.$row['name'].'</td><td><a href=""><button type="button" onclick="toggleFollowing('.$row['name_id'].')">'.($row['followed']==1 ? 'Unfollow':'Follow').'</button></td>';
    echo '</tr>';
  }
  ...
?>

您将让 toggleFollowing.php 接收变量 $_GET['name_id'] 以切换数据库并返回此页面。我假设您将当前用户的 ID 存储为会话变量或通过其他方式,因为您需要将其作为更新记录的主要参考。如果您通过其他方式在页面之间传递它,那么您也希望传递该变量。

显然,这是更截断的代码,但更好的方法是使用 AJAX 在 DB 上执行切换,并使用 DOM 操作(JQuery?)进行“实时”更新。

于 2012-05-10T21:41:31.243 回答
0

如果没有您的代码示例,很难回答,但是像这样?

<?php

  if(follow){
    echo '<input type="button" value="Follow" />';
  } else {
    echo '<input type="button" value="Unfollow" />';
  }

?>
于 2012-05-10T21:17:05.413 回答