2016-09-22 20 views
-4

複数のクエリに関するページの情報を表示したいと思います。それぞれのクエリはプロジェクトのステータスを表します。これを行うために、私は配列に情報を追加するwhileループを作った。複数の値を同じ配列に追加する方法

問題は、使用できるステータスのうち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;  

、私は3つのクエリを持っている、と私は、配列にそれらのすべてを追加してみてください、まだ一つだけ$情報のアップを示しています。何故ですか?

EDIT:

私は、ORを削除し、私のフェッチの配列を分離、まだそれはまだ唯一の「保留」1を示しています。ここでは、今どのように見えるかです:

$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を使用すると、**すべての**クエリは同じ数の行を返さなければならないことを意味します。何も返さない最初のものが実行されなかった場合、すべてのクエリは実行されません(基本的に現在のものとは逆の問題です) 。すべてを強制的に1行にしようとするのをやめてください。 – 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

関連する問題