我想要做的是显示5个随机图像与文本的某个数字,而不是重复。图像和文本的链接将存储在数据库中。我遇到的问题是,我需要将每个ID值放入单个PHP数组中,以便打乱ID并随机选择5,但我总是无法将它们组合成一个数组,如果我有3行,我最终会得到3个数组。
以下是一个失败代码的示例,其中包含3行ID为1,2,4的代码:
function getAll () {
$query = mysql_query("SELECT * FROM ads") or die(mysql_error());
$myarray = array();
while ($numbers = mysql_fetch_array($query)){
$arr = $numbers['ID'].",";
print_r (explode(",", $arr));
}
};这是输出:
Array ( [0] => 1 [1] => ) Array ( [0] => 2 [1] => ) Array ( [0] => 4 [1] => )这是所需的输出:
Array ( [0] => 1 [1] => 2 [2] => 4)我想这是一个新手的问题,但我已经尽了最大的努力寻找解决方案,但失败了。
发布于 2012-04-10 08:55:29
简单的解决方案:在MySQL查询中使用ORDER BY RAND()直接混洗结果:
SELECT * FROM ads ORDER BY RAND() LIMIT 5发布于 2012-04-10 09:06:30
我认为你应该看看Alp的解决方案,但是为了直接回答你的问题-把这个放到你的while循环中。
array_push($arr,$numbers['Id']);但首先在循环之前声明变量:
$arr = array();https://stackoverflow.com/questions/10081719
复制相似问题