2013-06-03 84 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)