gpt4 book ai didi

php - php mysql 中的 friend 建议

转载 作者:行者123 更新时间:2023-11-29 21:01:47 25 4
gpt4 key购买 nike

我想向用户随机推荐一些 friend ,无论建议和当前session_user之间是否有共同的 friend 。

这是我尝试过的:

$sess = htmlspecialchars(mysqli_real_escape_string($con, $_SESSION['user_id']));

$qet = mysqli_query($con, "SELECT user.id AS id, user.name AS name, user.u_name AS u_name, user.profile_pic AS profile_pic

FROM user INNER JOIN user_friend ON (user.id = user_friend.add_by_id) OR (user.id = user_friend.add_to_id)

WHERE (user_friend.add_to_id != '$sess' or user_friend.add_by_id != '$sess') AND (user.id != '$sess')

ORDER BY RAND() LIMIT 1");

我的表结构:

用户 friend

  1. id
  2. add_by_id
  3. add_to_id
  4. added_on
  5. accepted

用户

  1. id
  2. name
  3. u_name
  4. profile_pic
  5. email
  6. password
  7. gender

我没有得到正确的结果,它向我建议了那些已经是我的 friend 的 friend (当前 session 用户)。

最佳答案

您的要求似乎是“随机获取一个还不是当前用户好友的用户”。如果是这样,这将是一个更直接的 sql 翻译:

SELECT user.id AS id, user.name AS name, user.u_name AS u_name, user.profile_pic AS profile_pic
FROM user
WHERE user.id <> '$sess' AND user.id NOT IN (
SELECT DISTINCT add_by_id FROM user_friend WHERE add_to_id = '$sess'
UNION
SELECT DISTINCT add_to_id FROM user_friend WHERE add_by_id = '$sess'
)
ORDER BY RAND() LIMIT 1

(注意:未经测试。)

你的原始sql有一个连接,它将结果限制为已经与当前用户有连接的用户,因此永远无法给你你想要的东西。 (如果我正确理解了您的需求。)

关于php - php mysql 中的 friend 建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37165321/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com