Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde, fiz tudo os processo para enviar o email, ele enviar tudo certo, coloquei o WHILE para que seja listados todos os resultados da query, exemplo:
tenho 3 pessoas, quando eu marco no check box as 3 pessoas e envio, ele enviar 3 emails para o mesmo email, das três pessoas diferentes listadas.
o email cadastrado "jose@email.com.br"
[x] jose
[x] maria
[x] joao
[enviar]
________________________
quando chega o email no "jose@email.com.br" ele enviar assim:
1º email - "olá jose bla bla bla bla"
2º email - "olá maria bla bla bla bla"
3º email - "olá joão bla bla bla bla"
eu queria que todos esses resultado chegasse em um email só.
$sql6 = new Query($bd); //BUSCA USUARIOS CADASTRADOS PARA ENVIAR O E-MAIL
$txt6 ="SELECT CCODIUSUA1,TIPO1,CNOMEUSUA1,DATAINSCRICAO1,PROTOCOLO1 FROM HSSVACINA_GRIPE WHERE CCODIUSUA1 = '".$usua."'";
$sql6->executeQuery($txt6);
while(!$sql6->eof()){
$codiusu = $sql6->result("CCODIUSUA1");
$tipo = $sql6->result("TIPO1");
$cnome = $sql6->result("CNOMEUSUA1");
$datainsc = $sql6->result("DATAINSCRICAO1");
$prot = $sql6->result("PROTOCOLO1");
$sql6->next();
//CRIAR LAYOUT PARA ENVIO DO E-MAIL
$msg = "<p>Olá <b>".$cnome."</b>,
<br/><br/>
Usuário cadastrado para vacinação:
<br/><br/>".
"<b>Codigo:</b> ".$codiusu."<br />".
"<b>Usuário:</b> ".$cnome."<br />".
"<b>Data Inscrição:</b> ".$datainsc."<br />".
"<b>Protocolo:</b> ".$prot."<br /><br />".
"<br /><br />".
"Cordialmente,<br />".
$formata->initcap($_SESSION['nome_operadora']);
if($email <> ' '){
$func->enviaEmail($email,'Usuários Cadastrados Para Vacinação' ,$msg);
}
}então se eu fechar a chave antes ele enviar um email somente com o primeiro resultado da query. que seria o jose.
$sql6 = new Query($bd); //BUSCA USUARIOS CADASTRADOS PARA ENVIAR O E-MAIL
$txt6 ="SELECT CCODIUSUA1,TIPO1,CNOMEUSUA1,DATAINSCRICAO1,PROTOCOLO1 FROM HSSVACINA_GRIPE WHERE CCODIUSUA1 = '".$usua."'";
$sql6->executeQuery($txt6);
while(!$sql6->eof()){
$codiusu = $sql6->result("CCODIUSUA1");
$tipo = $sql6->result("TIPO1");
$cnome = $sql6->result("CNOMEUSUA1");
$datainsc = $sql6->result("DATAINSCRICAO1");
$prot = $sql6->result("PROTOCOLO1");
$sql6->next();
//CRIAR LAYOUT PARA ENVIO DO E-MAIL
$msg = "<p>Olá <b>".$cnome."</b>,
<br/><br/>
Usuário cadastrado para vacinação:
<br/><br/>".
"<b>Codigo:</b> ".$codiusu."<br />".
"<b>Usuário:</b> ".$cnome."<br />".
"<b>Data Inscrição:</b> ".$datainsc."<br />".
"<b>Protocolo:</b> ".$prot."<br /><br />".
"<br /><br />".
"Cordialmente,<br />".
$formata->initcap($_SESSION['nome_operadora']);if($email <> ' '){
$func->enviaEmail($email,'Usuários Cadastrados Para Vacinação' ,$msg);
}
substitua o codigo
então ele enviar somente um email com o primeiro nome. ou seja primeiro resultado da query.
refiz os codigos, e fechei onde voce pediu, ele envia 3 emails ainda.
posta o codigo da função enviaEmail
bom dia, consegui separar o email, agora ele só envia um.
mas mesmo assim queri que fizesse uma lista e que fosse em tabela para email, com os todos os nomes do resultado da query
bom dia, consegui fazer o email para cada resultado da query.
$sql6 = new Query($bd); //BUSCA USUARIOS CADASTRADOS PARA ENVIAR O E-MAIL
$txt6 ="SELECT CCODIUSUA1,TIPO1,CNOMEUSUA1,DATAINSCRICAO1,PROTOCOLO1 FROM HSSVACINA_GRIPE WHERE CCODIUSUA1 = '".$usua."'";
$sql6->executeQuery($txt6);
while(!$sql6->eof())
{
$codiusu_aux = $sql6->result("CCODIUSUA1");
$codiusu = $codiusu. '<p></br></p>' .$codiusu_aux;
$tipo = $sql6->result("TIPO1");
$cnome_aux = $sql6->result("CNOMEUSUA1");
$cnome = $cnome. '<p></br></p>' .$cnome_aux;
$datainsc_aux = $sql6->result("DATAINSCRICAO1");
$datainsc = $datainsc. '<p></br></p>' .$datainsc_aux;
$prot_aux = $sql6->result("PROTOCOLO1");
$prot = $prot. '<p></br></p>' .$prot_aux;
$sql6->next();
}
$tabela .='<table align="center" border="1">';//abre table
$tabela .='<thead>';//abre cabeçalho
$tabela .= '<tr>';//abre uma linha
$tabela .= '<th> CÓDIGO </th>'; // colunas do cabeçalho
$tabela .= '<th> NOME </th>';
$tabela .= '<th> DATA INSCRIÇÃO </th>';
$tabela .= '<th> PROTOCOLO </th>';
$tabela .='</tr>';//fecha linha
$tabela .='</thead>'; //fecha cabeçalho
$tabela .='<tbody>';//abre corpo da tabela
$tabela .= '<tr>'; // abre uma linha
$tabela .= '<td>'.$codiusu.'</td>'.'</p>'; // coluna codigo
$tabela .= '<td>'.$cnome.'</td>'; //coluna nome
$tabela .='<center>';//centralizar
$tabela .= '<td>'.$datainsc.'</td>'; // coluna data
$tabela .='</center>';
$tabela .= '<td>'.$prot.'</td>'; //coluna protocolo
$tabela .= '</tr>'; // fecha linha
$tabela .='</tbody>'; //fecha corpo
$tabela .= '</table>';//fecha tabela
$func->enviaEmail($email,'Usuários Cadastrados Para Vacinação',$tabela);
valeus pelo apoio.
pelo que entendi você deve fechar chaves antes da função while senão ele realiza a função de enviar e-mail três vezes enviando três e-mails