我試圖根據查詢返回顯示不同的消息/按鈕。有3種不同的情況。查詢多個表,如果,elseif,其他條件
- 用戶評論他的賬戶
- 用戶評論好友賬號
- 用戶評論非友人帳
因此,當用戶查看自己的帳戶我隱藏按鈕「加爲好友」。當他檢查非朋友帳戶時,我顯示按鈕「添加爲朋友」。當用戶檢查朋友帳戶時,我想顯示該用戶是他的朋友的消息。
這是查詢和if,elseif,else條件。邏輯是錯誤的,但無法弄清楚究竟是什麼。
if(isset($_GET['id']) && is_numeric($_GET['id'])){
$id = $_GET['id']; {
$result = $pdo->prepare("SELECT usr.*, userFriends.*
FROM users usr
LEFT JOIN user_friends userFriends
ON usr.id = userFriends.friend_id
WHERE id = ?
LIMIT 1");
$result -> bindParam(1, $id, PDO::PARAM_INT);
$result -> execute();
foreach ($result as $row)
{
// some html here
if($_SESSION['id'] == $row['user_id'])
{
echo '';
}
elseif ($id == $row['friend_id'])
{
echo ' Already friends ';
}
else
{
echo ' Add as friend ';
}
}
}
因此$_SESSION['id']
是當前(登錄用戶)。
$id
非好友/朋友的個人資料
$row['user_id']
從表user_friends
$row['friend_id']
當前用戶是從user_friends
表中的非好友/朋友id
你可以複製var_dump($ result)的結果;請 ? – Nirnae
它與查詢相同。 –
然後你可以打印$ row的值嗎?如果你的案例沒有按照預期工作,那麼問題也必須在那裏,我也想到了,你在第一個if friend_id上檢查user_id是否是這個目的? – Nirnae