我想從表格中選擇最近的12行,但隨後將順序洗牌。mysql order by photo_id desc and shuffle after
所以我不能使用ORDER BY RAND(),因爲這隻會隨機選擇一些行而不是最近的12行。
我在想這樣的事情,但它沒有工作按計劃進行:
$artig_photos = mysql_query("
SELECT photo_id, photo_name
FROM `migo_artig_photos`
WHERE (
photo_deleted=0 AND photo_type=2
)
ORDER BY photo_id DESC
LIMIT 12;
");
while ($row = mysql_fetch_array($artig_photos)) {
$artig_shuffled[$row['photo_id']] = $row['photo_name'];
}
shuffle($artig_shuffled);
後來當我這樣做:
foreach ($artig_shuffled as $key => $value) {
}
我預期的關鍵是photo_id
和值爲photo_name
與他們之間的正確關係,猜測我錯了。
有關如何解決此問題的任何提示?也許我的方法不是很好。
方面的最佳, 亞歷山大
的'shuffle'不保留數組鍵。 – Ryan 2011-06-15 02:25:07