0

現在のユーザーが別のユーザーをフォローしているかどうかに応じて、「フォロー」または「フォロー解除」と表示されるボタンを作成しようとしています。

John が Tim をフォローし、Sarah をフォローしなかった場合、John の見解によると、Web ビューは次のようになります。

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

(" ") はボタンを表します。

誰が誰をフォローしているかを示すデータベースがありますが、そのデータベースでの検証に基づいて正しいボタンを表示するにはどうすればよいですか?

4

2 に答える 2

1

「name_id」、「name」、「followed」の3つのフィールドがあるとすると、「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 に答える