所以我正在研究一個「產品列表」,它的想法是產品的名稱,然後是從數據庫派生的顏色下拉列表。問題是我只能得到「顏色」循環迭代一次,我得到的第一個產品名稱和下拉菜單中的顏色一次,但不是隨後,我希望的幫助是,我該如何改變這段代碼讓它做我所需要的,我一直在嘗試一個星期,我真的可以使用一些幫助。PHP雙while循環,第二個循環不會迭代多次
$product_query = mysql_query('SELECT * FROM products WHERE id > 0');
$colour_query = mysql_query('SELECT * FROM product_colours WHERE id > 0');
while ($get_product_rows = mysql_fetch_assoc($product_query)){
echo $get_product_rows['name'];
echo "<br \>";
if ($get_product_rows['has_colour'] == '1'){
while ($get_colour_row = mysql_fetch_assoc($colour_query)){
// Drop down box population goes here.
}
}
}
如果有人能幫助,我將不勝感激。 來自Grant M.
我不能肯定這一點,並沒有時間來測試,但我想嘗試同時運行兩個MySQL查詢,這樣是不可預測的。相反,你可以通過while循環將查詢轉換爲數組,然後做一個嵌套的foreach循環。 – kingcoyote 2012-03-16 00:23:59
你能做'var_dump(mysql_fetch_assoc($ color_query))'並用輸出更新你的問題嗎? – F21 2012-03-16 00:24:20
@kingcoyote爲什麼它會變得不可預測?他在兩個不同的表上有兩個不同的查詢,他也在while循環之前執行查詢。 – steveoh 2012-03-16 00:31:35