【发布时间】:2011-06-15 02:15:54
【问题描述】:
我想从表中选择最近的 12 行,然后打乱顺序。
所以我不能使用 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不保留数组键。