2013-06-03 83 views
0

我有一个数组中包含的ID:获取数据排序如下的顺序根据阵列

$array = array('1234','3214','8764','8467'2364','1113') 

,我做检索项数据是使用IN语句,像什么:

...product_id IN ('.$array .')... 

问题是我得到的数据是一个我不知道的订单(例如8467,2364,3214,1234 ...)。

是否有任何方法从数组中提供的顺序获取数据?

在此先感谢

+0

只是注意,你不需要喜欢自己的问题得到通知它,为海报,你会自动收到通知。这颗星星的意思是“最喜欢的”,它对于分数或可见度没有意义:) –

回答

1

使用顺序条款一样,

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

我想你可以只使用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)