gpt4 book ai didi

php - SQL,按文章语言排序,英语优先,然后是法语

转载 作者:可可西里 更新时间:2023-11-01 08:06:51 26 4
gpt4 key购买 nike

我在一个多语言网站上工作,我的文章可能会或可能不会以该网站使用的所有语言显示。此外,用户还可以注册并选择首选语言。

我的问题如下,在显示文章时我希望它以这种方式显示:如果用户已登录,则显示他选择的语言,如果文章不是他的语言,则尝试显示如果它不存在,则使用英语,否则使用法语,然后使用德语等。

这是我的文章表:

news_id |  lang  |   title  |  text  |
1 | en | News en | bla.. |
1 | fr | News fr | bla.. |
2 | en | New en | bla.. |
3 | fr | Nws fr | bla.. |

我不知道如何在 mysql 中执行此操作。

我希望你能理解我的问题,我真的不知道如何解释得更清楚。

最佳答案

您需要加入用户偏好表,以获得所需的语言。然后按以下顺序使用该信息:

select a.*
from articles a cross join
(select up.*
from UserPreferences up
where up.userid = <whatever you want>
) up
order by (case when a.lang = up.prefland then 0
when a.lang = 'en' then 1
when a.lang = 'fr' then 2
else 3 end) asc

此特定顺序首先执行首选语言,然后是英语,然后是法语。要首先获得首选,请删除后两个“when”子句。

关于php - SQL,按文章语言排序,英语优先,然后是法语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11797780/

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