![](/img/trans.png)
[英]PHP MySQL: Getting rows from table A where values of column Z of Table A not present in column Z of table B
[英]PHP MySQL table uniting values from rows in a single table
我想要做的是顯示 5 個隨機圖像,其中包含一定數量的文本而不重復。 圖像和文本的鏈接將存儲在數據庫中。 我遇到的問題是我需要將每個 ID 值放入單個 PHP 數組中以便洗牌並隨機選擇 5,但我一直無法將它們組合成一個數組,如果我有 3 行我結束最多 3 arrays。
這是一個包含 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));
}
};
這是 output:
Array ( [0] => 1 [1] => ) Array ( [0] => 2 [1] => ) Array ( [0] => 4 [1] => )
這是所需的 output:
Array ( [0] => 1 [1] => 2 [2] => 4)
猜猜這是一個菜鳥問題,但我已盡我最大努力尋找解決方案但失敗了。
簡單的解決方案:通過在 MySQL 查詢中使用ORDER BY RAND()
直接對結果進行混洗:
SELECT * FROM ads ORDER BY RAND() LIMIT 5
我認為你應該看看 Alp 的解決方案,但直接回答你的問題 - 把它放在你的while
循環中。
array_push($arr,$numbers['Id']);
但首先在循環之前聲明變量:
$arr = array();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.