gpt4 book ai didi

php - 按原型(prototype)订购

转载 作者:行者123 更新时间:2023-11-29 09:03:37 25 4
gpt4 key购买 nike

MySQL 字段中有 6 个可能的键。我们称它们为类型。通过 PHP,我定义了一个名为 $order 的数组,并按照我希望它们出现的顺序排列这些类型。

有一个表 articles,其中有一个字段 articles.type 。任何文章都可以添加 0-6 个类型。现在,我想做的是获取所有文章,并从原型(prototype)中订购它们。做这个的最好方式是什么?这可以在 MySQL 中完成吗,因为我认为那样会更快?如果没有,如何用 PHP 完成?

示例:

表:

id     articleId     type
1 3 type1
2 3 type2
3 3 type3
4 3 type4
5 4 type5
6 4 type6
7 5 type5
8 7 type1
9 7 type5

订单:

$order=array('type1','type2','type3','type4','type5','type6');

如何获取按我的 $order 变量排序的结果?

最佳答案

您需要将该数组整理为 mysql 样式的 if/case 语句:

$order_by = "ORDER BY CASE";
$pos = 1;
foreach ($order as $clause) {
$order_by .= " CASE `type`='$clause' THEN " . $pos++;
}
$order_by .= " ELSE " . $pos++;

这会生成类似的东西

ORDER BY CASE
WHEN `type`='type1' THEN 1
WHEN 'type`='type2' THEN 2
...
ELSE n

关于php - 按原型(prototype)订购,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7773295/

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