php sql排序英文,php

阅读: 评论:0

php  sql排序英文,php

php sql排序英文,php

我正在使用多种语言的网站,但我有文章可能会或可能不会以网站所使用的所有语言提供文章.此外,用户还可以注册并选择一种首选语言.

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

这是我的文章表:

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中执行此操作.

我希望您能理解我的问题,我真的不知道如何更清楚地解释它.

解决方法:

尽管从技术上来说,戈登的答案是正确的,但我还是建议您采取一种稍有不同的方法:您可以添加另一个表(称为语言),该表在所使用的语言集上定义了partial order.

language

--------------------------

| id | name | rank |

--------------------------

1 en 1

2 fr 2

3 de 3

4 nl 4

现在,此表的数据集确定了网站语言上的部分顺序.要在查询中使用它,您可以执行以下操作:

SELECT a.*

FROM article a

, language b

WHERE a.id = [xxx]

AND a.lang = b.name

ORDER BY (a.lang = [session.lang]) DESC,

b.rank ASC

LIMIT 1

你问什么呢?

好吧,以这种方式进行设置,一旦您需要将语言集上的部分顺序更改为其他内容,就不必更新查询以反映该更改.当然,仅需几个查询就不会很麻烦,但是一旦您建立了几十个具有语言意识的查询,它就会让您大吃一惊.

标签:sql,mysql,php

来源: .html

本文发布于:2024-02-01 09:15:51,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170675015135597.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:英文   php   sql
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23