获取根据数组按照顺序排序的数据


Getting data ordered following an order according to an array

我得到了一个id为:

的数组
$array = array('1234','3214','8764','8467'2364','1113')
我所做的是检索项目数据是使用IN语句,如:
...product_id IN ('.$array .')...

问题是我得到的数据是按我不知道的顺序给出的(例如8467,2364,3214,1234…)。

是否有办法从mysql按照数组中提供的顺序获取数据?

Thanks in advance

使用顺序子句,如

$oderFields = implode(",",$array);
SELECT....ORDER BY field(product_id, $oderFields);

我认为你可以在你的数组中使用 implode 函数这样你就可以在你的查询中使用字符串

$array = array('1234','3214','8764','8467','2364','1113');
$string = implode(",", $array);
echo $string;

这将输出

1234,3214,8764,8467,2364,1113

现在你可以在查询

中使用这个字符串了
product_id IN ('.$string.')

product_id IN (1234,3214,8764,8467,2364,1113)