Barra de progresso
Fiz um código para envio de e-mail marketing que esta funcionando perfeitamente, porem nesse código eu coloquei uma barra de progresso que só aparece quando termina todos os envios. Alguém poderia me dar uma dica de como fazer essa barra de progresso aparecer no momento em que os emails são enviados? segue o meu código:
<?php if (isset($id_conta) && isset($id_grupo) && isset($id_mailing)){ //variaveis $cont_enviados = 0. $cont_erros = 0. $cont_geral = 0. $total_emails = 0. //Pega lista de emails include "../../conect_mysql.inc". require("phpmailer/class.phpmailer.php"). $rs = mysql_query("SELECT * FROM mailing_destinos WHERE id_grupo = $id_grupo", $conector). $total_emails = mysql_num_rows($rs). echo" <div class=\"row\"> <h6>$total_emails e-mails a serem enviados</h6> </div> ". while ($registro = mysql_fetch_array($rs)) { //Inicia a classe PHPMailer $mail = new PHPMailer(). //Define os dados do servidor e tipo de conexão $mail->IsSMTP(). // Define que a mensagem será SMTP $mail->Host = "$smtp_conta". // Endereço do servidor SMTP $mail->SMTPAuth = true. // Autenticação $mail->Username = $email_conta. // Usuário do servidor SMTP $mail->Password = md5($senha_conta). // Senha da caixa postal utilizada //Define o remetente $mail->From = "$email_conta". $mail->FromName = "$nome_conta". //Define os destinatário(s) $mail->AddAddress($registro["email"]). //$mail->AddCC('copia@dominio.com.br', 'Copia'). //$mail->AddBCC('CopiaOculta@dominio.com.br', 'Copia Oculta'). //Define os dados técnicos da Mensagem $mail->IsHTML(true). // Define que o e-mail será enviado como HTML //$mail->CharSet = 'iso-8859-1'. // Charset da mensagem (opcional) $mail->CharSet = 'UTF-8'. //Texto e Assunto $mail->Subject = "$titulo_mailing". // Assunto da mensagem $mail->Body = $corpo_mailing. //$mail->AltBody = 'Este é o corpo da mensagem de teste, em Texto Plano! \r\n //<IMG src="http://seudominio.com.br/imagem.jpg" alt=5":)" class="wp-smiley"> '. //Anexos (opcional) //$mail->AddAttachment("e:\home\login\web\documento.pdf", "novo_nome.pdf"). //Envio da Mensagem $enviado = $mail->Send(). //Limpa os destinatários e os anexos $mail->ClearAllRecipients(). $mail->ClearAttachments(). //Exibe uma mensagem de resultado if ($enviado) { $cont_enviados++. $largura_enviados=($cont_enviados*100)/$total_emails. //calcula andamento da operação em percentual $perc_enviados= (int) ($largura_enviados). echo"<div class=\"row\">". echo " <div style='width:200px. height:20px. background:#fff. position:absolute. top:100px. left:10px'>E-mails enviados</div> <div style='width:500px. height:20px. background:#fff. border:1px solid #3CB371. position:absolute. top:125px. left:10px'> <div style='width:$largura_enviados%. height:20px. background:#3CB371. position:absolute. top:0. left:0'></div> </div> <div style='width:100px. height:20px. background:#fff. position:absolute. top:150px. left:10px'>$perc_enviados %</div>". echo"</div>". //echo "E-mail enviado com sucesso para". $registro["email"]. "!<br>". } else { $cont_erros++. //Mostra barra de progressão $largura=($cont_erros*100)/$total_emails. //calcula andamento da operação em percentual $perc= (int) ($largura). echo"<div class=\"row\">". echo " <div style='width:200px. height:20px. background:#fff. position:absolute. top:190px. left:10px'>E-mails não enviados</div> <div style='width:500px. height:20px. background:#fff. border:1px solid #f00. position:absolute. top:215px. left:10px'> <div style='width:$largura%. height:20px. background:#f00. position:absolute. top:0. left:0'></div> </div> <div style='width:100px. height:20px. background:#fff. position:absolute. top:240px. left:10px'>$perc %</div>". echo"</div>". //
//echo "Não foi possível enviar o e-mail para ". $registro["email"]. ". <br>". //echo "Informações do erro: //". $mail->ErrorInfo. } //Fecha o while $cont_geral = $cont_enviados + $cont_erros. echo"<div style='width:200px. height:20px. background:#fff. position:absolute. top:280px. left:10px'>$cont_geral Executados</div>". } mysql_close($conector). }?>Discussão (2)
Carregando comentários...