1
我是一个php newbee,我试图用一系列的foreach和SQL结果填充3个不同的数组。代码实际上起作用,但我只打印最后一个结果。不知何故,我不是递增数组,而是一遍又一遍地写。问题是,如何增加它们?任何帮助真的很感激!用SQL结果填充外部foreach循环数组
$online = array();//armazena online
$ocupado = array();//armazena ocupado
$offline = array();//armazena offline
$atendentes = mysql_query("SELECT nome FROM atendentes ORDER BY nome")or die(mysql_error());
while ($row = mysql_fetch_assoc($atendentes)) {/// Pegar atendentes
$atendentedb = array($row["nome"]);
}
foreach ($atendentedb as $atendente) {// LOOP SELECAO DAS ATENDENTES; VERIFICAR CADA UMA
$names = modWhosonlineCustom::getOnlineUserNames();//pega o nome de quem esta online agora
foreach ($names as $name){//DA UM LOOP, EM QUEM ESTA ONLINE E MARCA
//*****************************'ACENDER' se a atendente esta online
$att = $name->username;
$att = strtolower($att);
if ($atendente == $att){//esta atendente esta online
$att_online = 'yes';
}//esta atendente esta online
if ($atendente != $att){//esta nao atendente esta online
$att_online = 'no';
}//esta atendente nao esta online
//******************************************************************
}//loop foreach quem esta online
if ($att_online == 'yes'){//se atendente online
$status = mysql_query("SELECT status FROM atendentes WHERE nome = '$atendente'")or die(mysql_error());
while ($row = mysql_fetch_assoc($status)) {
$statusdb = $row["status"];
}
//**************************** VERIFICA O STATUS
if ($statusdb == 'disponivel'){
//*******************************
$descricao = mysql_query("SELECT hp_online FROM atendentes WHERE nome = '$atendente'")or die(mysql_error());
while ($row = mysql_fetch_assoc($descricao)) {
$online[] = $row['hp_online'];
}
}// se o status é disponivel
//********************************* OCUPADOS
if ($statusdb == 'ocupado'){
$descricao = mysql_query("SELECT hp_busy FROM atendentes WHERE nome = '$atendente'")or die(mysql_error());
while ($row = mysql_fetch_assoc($descricao)) {
$ocupado[] = $row['hp_busy'];
}
}// se o status é ocupado
}//atendente = yes
if ($att_online != 'yes'){//se estiver offline
$descricao = mysql_query("SELECT hp_offline, horario FROM atendentes WHERE nome = '$atendente'")or die(mysql_error());
while ($row = mysql_fetch_assoc($descricao)) {
$offline[] = $row['hp_offline'];
$offline[] = $row['horario'];
}
}//se att nao é online
}// loop foreach
非常感谢迈克尔,解决了这个问题:))) – Adry 2012-01-16 18:00:31