gpt4 book ai didi

php - 如何检查登录的用户 ID 并在 MySQL 查询中首先返回该行?

转载 作者:行者123 更新时间:2023-11-29 08:57:38 25 4
gpt4 key购买 nike

下面的查询选择对某个项目的“喜爱”。 (可以将其视为类似于 Facebook 的“点赞”系统。

此选择中使用了两个表。链接表(包含 itemid、userid、lovetime),它连接到用户表以检索用户名/用户个人资料 url 等。

$lovequery = "select love.lovetime, love.userid as ID, love_users.display_name, love_users.user_url
from ".$wpdb->prefix."comment_loves love
left join ".$wpdb->prefix."users love_users on love_users.ID=love.userid
where commentid = $itemid
order by love.lovetime desc
limit 4

";

结果仅限于 4 个,因为我根本不需要更多数据。总计数单独存储在实际项目表中,以减少查询。

一旦从此查询中检索到行,我就会迭代数组,交叉引用总“lovecount”并构建一个格式如下的文本字符串:

You, John Smith, Joe Bloggs and 4 others love this.

这工作正常,但如果登录用户(您)没有最近的“爱情时间”,则会失败

我想要做的是让当前登录的用户始终位于返回结果的顶部,即使他/她的“爱情时间”早于 4 个最近的时间,以便字符串始终以“You”开头,如果登录的用户“喜欢”此项目。

登录的用户 ID 在脚本中以 $userid 形式提供。

澄清

如果我有下表(出于易读性的目的,时间戳被写为简单的英国日期):-

    userid  commentid  lovetime

34 3 02/10/2011
24 3 03/10/2011
13 3 06/10/2011
65 3 14/10/2011
1* 3 10/09/2011

* with userid 1 being the logged in user id

由于按“lovetime”排序,我只会按顺序返回用户 ID 34,24,13,65

我想要的结果是理想情况下返回 1,34,24,65。如果事实证明这太棘手,那么当用户 ID 存在时获取总共 5 行也可以。

我希望这足够清楚,但很难说清楚。

我将如何修改查询以确保结果符合描述。

非常感谢。

最佳答案

您可以按条件对结果进行排序,例如 ORDER BY (ID = "auth_user_id") DESC

关于php - 如何检查登录的用户 ID 并在 MySQL 查询中首先返回该行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9525016/

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