gpt4 book ai didi

php - 一项记录27次

转载 作者:行者123 更新时间:2023-11-30 01:28:07 26 4
gpt4 key购买 nike

我的 MySQL 有一个大问题。我想编写像 Facebook 新闻源这样的脚本。我的查询返回 27 条相同的记录。我不知道为什么。怎么运行的?显示我、我的 friend 或我的个人资料撰写的帖子的脚本。

我的表格:用户:ID、名字、姓氏

friend : friend 1, friend 2,状态,日期

墙:update_id、作者、to_profile、内容、日期、照片

我的查询:

SELECT wall.update_id, wall.author, wall.to_profile, wall.content, wall.date, wall.photos,  users.*, friends.sender_id, friends.friend_id, friends.status 
FROM
wall
INNER JOIN friends ON
wall.author = friends.sender1
AND friends.friend2 = '".$_SESSION['id']."'
AND friends.status = '1' OR wall.author = '".$_SESSION['id']."'
OR wall.to_profile = '".$_SESSION['id']."'
INNER JOIN users ON users.id = wall.author
ORDER BY wall.date DESC

我还想显示我喜欢的页面撰写的帖子。我创建了表:

页面:page_id、page_name

page_likes:page_id、user_id、日期

和*pages_wall:**like_id、page_id、user_id、日期

如何将其连接到我的查询?以及(最重要的)如何修复我的查询?提前致谢,马修

最佳答案

正在进行大量的加入事件。尝试使用 JOIN just 连接表,然后使用 WHERE 来减少结果。因为就目前情况而言,这些 OR 并不像您想象的那样工作,它们需要一些 () 围绕它们。

我认为您需要对此数据库进行一些结构更改,以便它将来能够正常工作。我会为 friend 添加一个 ID 字段,即使只是在管理端,您也会想要管理这些记录。

此外,您不应该在此查询中查询 user.*。似乎您想要提取每个用户设置...对于每个单独的墙上帖子。这将在最后摆脱“INNER JOIN users ON users.id = wall.author”,这将有所帮助。在调用此墙壁显示之前,请在查询中获取该信息。

SELECT *
FROM users
WHERE users.id = wall.author

关于php - 一项记录27次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17762817/

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