Ir para conteúdo
Fórum Script Brasil
  • 0

Sistema de aviso de chamado


Guest --Rogério --

Pergunta

Guest --Rogério --

Boa noite. Estou fazendo no meu trabalho um sistema de chamados, que deve avisar ao usuário por e-mail o momento em que ele receber um chamado para ele. Porém estou tendo um problema.Quando mais de um funcionário tem chamados marcados para o mesmo horário, o primeiro recebe o chamado dele e de todos os outros, o segundo recebe o dele e dos outros, menos o do primeiro, o terceiro recebe o dele e dos outros, menos o do primeiro e do segundo, e assim sucessivamente. Somente o último recebe só o chamado dele.

<?php
$sql = mysql_query("SELECT id FROM usuarios");
$linhas = mysql_num_rows($sql);
for($i=0;$i<$linhas;$i++)
{
    $id_usuarios = mysql_result($sql,$i,"id");
    $hora = date("H");
    $minuto = date("i");
    $segundo = date("s");
    $dia = date("d");
    $mes = date("m");
    $ano = date("Y");

        $sql_chamado =  mysql_query("SELECT chamado,local,hora FROM chamados WHERE data = '".$ano."-".$mes."-".$dia."' AND hora = '".$hora.":".$minuto.":00' AND id_usuario = '".$id_usuarios."'");
    $linhas_chamado = mysql_num_rows($sql_chamado);
    if($linhas_chamado > 0)
    {
            $chamado = mysql_result($sql_chamado,0,"chamado");
            $local = mysql_result($sql_chamado,0,"local");
            $sql_usuario = mysql_query("SELECT usuario,email FROM usuarios WHERE id = '".$id_usuarios."'");
            $usuario = mysql_result($sql_usuario,0,"usuario");
            $email = mysql_result($sql_usuario,0,"email");
            $assunto = "Alerta de chamado";
            $msg = "<P><font face='Verdana, Arial, Helvetica, sans-serif'>".$usuario.", você tem um chamado agora.</P>";
            mail($email,$assunto,$msg);
    }
}
?>

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Acho que em primeiro lugar é interessante diminuir a gambiarra... se a gente fizer só uma query fica mais fácil de resolver o problema...

$hora = date("H:i");
$data = date("Y-m-d");
$sql_chamado =  mysql_query("SELECT  u.*,c.* FROM chamados c
LEFT JOIN usuarios u ON u.id = c.id_usuario
WHERE data = '".$data."' AND hora = '".$hora.":00'");
while($x = mysql_fetch_assoc($sql_chamado)){
$usuario = $x["usuario"];
$email = $x["email"];
$assunto = "Alerta de chamado";
$msg = "<P><font face='Verdana, Arial, Helvetica, sans-serif'>".$usuario.", você tem um chamado agora.</P>";
mail($email,$assunto,$msg);
}

Teste isso... se der algum erro na query adicione ai fina OR DIE(mysql_error()) como não sei exatamente como está a sua tabela posso ter errado alguma coisa...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652,1k
×
×
  • Criar Novo...