研究目的でTwitterっぽいプラットフォームを作っていて、フォローとフォロー解除の部分に手を伸ばしています。
フォローボタンとフォロー解除ボタンの2つのボタンがあり、どちらも正常に機能します。フォローを押すと、セッションIDとフォローしたいユーザーのIDが挿入されます。フォロー解除を押すと、その行が削除されます。すべて良い。
ボタンに ad if else ステートメントを追加したので、フォロー ボタンを押すとフォロー解除に変わり、フォロー解除を押すとフォローに戻ります。
問題は、行が空かどうかに応じて if else が機能するため、ログインしているすべてのユーザーに対して同じ結果が返されることです。ボタンを表示するためのより良い方法があるかもしれませんか?
これは私が今持っているものです。
<?php foreach(fetch_users($_GET['uid'])as $user){
if(empty($user['follow_id'])){ ?> <form action="" method='POST'>
<button type="submit" class="follow" name="submit" value="<?php echo $user['id'] ?>"/>FOLLOW</button>
</form>
<?php } else{ ?>
<form action="" method='POST'>
<button type="submit" class="follow" name="delete" value="<?php echo $user['id'] ?>"/>UNFOLLOW </button>
</form>
<?php
}
?>
</form>
</div>
<?php } ?>
function fetch_users($uid){
global $db;
$query = $db->query("SELECT user.id, user.username, user.email, userdetails.profile_img, following.follow_id
FROM user
JOIN userdetails ON user.id = userdetails.user_id
LEFT JOIN following ON user.id = following.follow_id
WHERE user.id != '{$uid}' ");
$user = array();
while(($row = $query->fetch(PDO::FETCH_ASSOC)) !==FALSE) {
$user[] = $row;
}
return $user;
}