如何将多个值添加到同一个阵列
我想在我的页面上显示有关多个查询的信息,每个查询都代表项目状态。要做到这一点,我做了一个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;
你可以做这样也..
$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;
希望这会有所帮助。
如果你想使这不仅仅是一个评论,你最好展示的OP至少是你的意思的例子 – RiggsFolly
如果你可以添加一些代码,它会帮助很多 – RazorFinger
你可以试试给我看代码吗? – RazorFinger
在PHP中,一旦松散评估为真,不会评估OR逻辑中的后续条件,因此如果您第一次调用mysql_fetch_array返回任何内容,则其他条件将不会运行。 – iainn
我明白了。所以我必须使用AND? – RazorFinger
使用AND将意味着**所有**查询必须返回相同数量的行,或者在第一个返回任何内容后的所有行都不会运行(基本上与您现在拥有的相反的问题) 。不要试图强制一切成一行。 – iainn