PHP MySQL表将行中的值合并到单个表中
我想做的是显示5个随机图像,文本超出一定数量,无需重复。图像和文本的链接将存储在数据库中。我遇到的问题是,我需要将每个ID值放入单个PHP数组中,以便洗牌ID并随机选取5个,但我一直未能将它们组合到单个数组中,如果我有3行,那么我最终会得到3个数组 这是ID为1,2,4的3行失败代码的示例:PHP MySQL表将行中的值合并到单个表中,php,mysql,Php,Mysql,我想做的是显示5个随机图像,文本超出一定数量,无需重复。图像和文本的链接将存储在数据库中。我遇到的问题是,我需要将每个ID值放入单个PHP数组中,以便洗牌ID并随机选取5个,但我一直未能将它们组合到单个数组中,如果我有3行,那么我最终会得到3个数组 这是ID为1,2,4的3行失败代码的示例: function getAll () { $query = mysql_query("SELECT * FROM ads") or die(mysql_error()); $myarray = array(
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)
我猜这是一个noob问题,但我已经尽了最大努力试图找到解决方案,但失败了。简单解决方案:在MySQL查询中使用ORDER by RAND直接洗牌结果:
SELECT * FROM ads ORDER BY RAND() LIMIT 5
我认为你应该看看Alp的解决方案,但是要直接回答你的问题,把这个放在你的while循环中 但首先在循环之前声明变量:
$arr = array();
$arr = array();