[Resolvido] comparar duas arrays e trazer a diferença
O caso é o seguinte..
Tenho duas tabelas: admin e cadastro
Preciso fazer com que, no momento do cadastro, seja incluída a informação do funcionário (listado no admin) que irá atendê-lo.
Este funcionário deverá ser diferente a cada cadastro e em ordem sequencial.
Fiz então o seguinte:
$busca = mysql_query("SELECT contato_de FROM cadastro ORDER BY cod DESC LIMIT 0,2");
while ($result = mysql_fetch_array($busca)) {
$contato_de = $result['contato_de'];
$ult_func[] = $contato_de; // pega os doís últimos funcionários no campo contato_de e coloca numa array
}
echo '<br />Últimos 2 funcionários: ';print_r($ult_func); // apenas para verificar se está trazendo os dois últimos corretamente e está.
$bsc = mysql_query("SELECT * FROM admin WHERE nivel_acesso = 1");
while ($n = mysql_fetch_array($bsc)) {
$nome = $n['nome'];
$nomes_func[] = $nome; // pega os funcionários do admin que tem nível de acesso = 1
}
echo '<br />Funcionários: ';
print_r($nomes_func); // apenas para verificar se está trazendo todos os funcionários corretamente e está.
$func_atual = array_diff($ult_func, $nomes_func); // faz a diferença entre as arrays
echo '<br />Funcionário Atual: ';
print_r($func_atual); // informa o funcionário da vez
o que está retornando então é o seguinte:
>
Últimos 2 funcionários: Array ( [0] => Paulo [1] => kelly )
Funcionários: Array ( [0] => Kelly [1] => Paulo [2] => Daniel )
Funcionário Atual: Array ( [1] => kelly )
ou seja... o funcionário atual deveria ser Daniel, e não kelly..
Obs.: Estou verificando os dois últimos funcionarios cadastros pois, como se pode ver eu só tenho 3 funcionários para atender os clientes.. então, eu preciso ver apenas os últimos dois e incluir o terceiro.
Discussão (3)
Carregando comentários...