2016-09-22 67 views
-4

我想在我的頁面上顯示有關多個查詢的信息,每個查詢都代表項目狀態。要做到這一點,我做了一個while循環,爲數組添加信息。如何將多個值添加到同一個陣列

問題是,我只顯示其中一個可用的狀態,只有第一個。這裏是我的代碼:

$exec = mysql_query($queryOntime) or trigger_error(mysql_error()); 
$exec1 = mysql_query($queryDelayed) or trigger_error(mysql_error()); 
$exec2 = mysql_query($queryPending) or trigger_error(mysql_error());   

$array_dados = array(); 

// All chart data 
while($info = mysql_fetch_array($exec)||$info1 = mysql_fetch_array($exec1)||$info2 = mysql_fetch_array($exec2)){  
    $array_dados[] = $info; 
    $array_dados[] = $info1; 
    $array_dados[] = $info2;      
} 
return $array_dados;  

因此,大家可以看到,我有3個疑問,我嘗試將所有的人都到一個數組,但只有$信息的一個顯示出來。這是爲什麼?

編輯:

我刪除了OR和我分開取陣列,但它仍然只顯示「待定」之一。下面是它的外觀現在:

$exec = mysql_query($queryPending) or trigger_error(mysql_error()); 
$exec1 = mysql_query($queryOntime) or trigger_error(mysql_error()); 
$exec2 = mysql_query($queryDelayed) or trigger_error(mysql_error());  

$array_dados = array(); 

//All chart data 
while($info = mysql_fetch_array($exec)) 
    $array_dados[] = $info; 

while($info1 = mysql_fetch_array($exec1)) 
    $array_dados[] = $info1; 

while($info2 = mysql_fetch_array($exec2)) 
    $array_dados[] = $info2; 

return $array_dados; 
+3

在PHP中,一旦鬆散評估爲真,不會評估OR邏輯中的後續條件,因此如果您第一次調用mysql_fetch_array返回任何內容,則其他條件將不會運行。 – iainn

+0

我明白了。所以我必須使用AND? – RazorFinger

+0

使用AND將意味着**所有**查詢必須返回相同數量的行,或者在第一個返回任何內容後的所有行都不會運行(基本上與您現在擁有的相反的問題) 。不要試圖強制一切成一行。 – iainn

回答

1

你可以做這樣也..

$exec = mysql_query($queryOntime) or trigger_error(mysql_error()); 
$exec1 = mysql_query($queryDelayed) or trigger_error(mysql_error()); 
$exec2 = mysql_query($queryPending) or trigger_error(mysql_error());   

$array_dados = array(); 

// All chart data 
while($info = mysql_fetch_array($exec) && $info1 = mysql_fetch_array($exec1) && $info2 = mysql_fetch_array($exec2)){  
    $array_dados[] = $info; 
    $array_dados[] = $info1; 
    $array_dados[] = $info2;      
} 
return $array_dados; 

希望這會有所幫助。

+0

如果你想使這不僅僅是一個評論,你最好展示的OP至少是你的意思的例子 – RiggsFolly

+0

如果你可以添加一些代碼,它會幫助很多 – RazorFinger

+0

你可以試試給我看代碼嗎? – RazorFinger

相關問題