Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mcd more core

Contar registros enviados por PHP

Recommended Posts

Testei online e foi beleza.

 

# Agora realmente vou ter que então quebrar a cabeça aqui para saber como colocar o LOOP dentro do código ( mail.php ) e quando concluir ele retorne para ( envio concluído ).

 

valeu pela força ai cara, se pudesse somente me dizer onde colocar o loop do e-mail vindo da consulta do banco, sinceramente estaria bem completo a ideia que eu realmente procurava.

 

 

:D

Compartilhar este post


Link para o post
Compartilhar em outros sites

A última idéia que tive foi essa .. o William bruno tinha postado um código no qual vai exibindo os elementos com um certo intervalo .. isso não é o problema, mas a idéia é boa, se você pensar, na própria página, você envia e mostra o email que foi enviado .. aí é que está a mágica, na hora que você for mostrar esse 'email', você mostra ele dentro de um 'p' e depois vai exibindo .. do mesmo modo que você pode ir calculando a porcentagem e movendo a progress bar .. de acordo com a quantidade de emails enviados ..

<html>
<head>
	<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"></script>
	<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/sunny/jquery-ui.css" type="text/css" />
	<script type="text/javascript">
		 function id( el ){  
			   return document.getElementById( el )  
		 }  
		 function changeDisplay( els, val ){  
			for( var i = 0 ; i < els.length ; i ++ ) {  
				els[ i ].style.display = val;  
			}  
		}  
		function mostra( ps ){  
			//if( ps.length > i ) $( '#current' ) . html ( ps[ i ] . innerHTML ) ; 
			if( ps.length > i ) ps[ i ] . style . display = 'block' ;
			else window.clearInterval( intv );  
			$( document ) . ready ( function () {
				$( '#progress' ) . progressbar({ value : i }) ;
			} ) ;
			i++;  
		}  
		var i = 0;  
		var intv = 0;  
		window.onload = function(){  
			var ps = id('sendedMails').getElementsByTagName('p');  
			changeDisplay( ps, 'none' );  
			intv = window.setInterval( mostra, 100, ps );  
		}  
	</script>
</head>
<style type="text/css">
	<!--
		.sended{
			display: none;
		}
	-->
</style>
<body>
	<div id="progress"></div>
	<div id="current"></div>
	<div id="sendedMails">
	 <?php 
		for( $i = 0 ; $i <= 100 ; ++ $i ) {
			printf( '<p class="sended">mail%d@example.com</p>' , $i ) ;
		}
	 ?>
	</div>
</body>
</html>

 

O if comentado, mostra o atual, o outro, vai imprimindo um por 1 .. agora basta você fazer o loop, e imprimir cada parágrafo com o email enviado ..

Compartilhar este post


Link para o post
Compartilhar em outros sites

E o loop eu coloco onde Andrey?

 

# realmente muito boa a ideia, agora onde exatamente eu coloco o loop que eu irei consultar o BD

 

$sql=mysql_query("CONSULTA BD NORMAL");
while($linha=mysql_fetch_array($sql))
{

AQUI VAI A FUNÇÃO ENVIAR E-MAIL

}
// onde coloco esse LOOP completo no código que você me informou acima ??

 

Aguardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

A última idéia que tive foi essa .. o William bruno tinha postado um código no qual vai exibindo os elementos com um certo intervalo .. isso não é o problema, mas a idéia é boa, se você pensar, na própria página, você envia e mostra o email que foi enviado .. aí é que está a mágica, na hora que você for mostrar esse 'email', você mostra ele dentro de um 'p' e depois vai exibindo .. do mesmo modo que você pode ir calculando a porcentagem e movendo a progress bar .. de acordo com a quantidade de emails enviados ..

<html>
<head>
	<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"></script>
	<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/sunny/jquery-ui.css" type="text/css" />
	<script type="text/javascript">
		 function id( el ){  
			   return document.getElementById( el )  
		 }  
		 function changeDisplay( els, val ){  
			for( var i = 0 ; i < els.length ; i ++ ) {  
				els[ i ].style.display = val;  
			}  
		}  
		function mostra( ps ){  
			//if( ps.length > i ) $( '#current' ) . html ( ps[ i ] . innerHTML ) ; 
			if( ps.length > i ) ps[ i ] . style . display = 'block' ;
			else window.clearInterval( intv );  
			$( document ) . ready ( function () {
				$( '#progress' ) . progressbar({ value : i }) ;
			} ) ;
			i++;  
		}  
		var i = 0;  
		var intv = 0;  
		window.onload = function(){  
			var ps = id('sendedMails').getElementsByTagName('p');  
			changeDisplay( ps, 'none' );  
			intv = window.setInterval( mostra, 100, ps );  
		}  
	</script>
</head>
<style type="text/css">
	<!--
		.sended{
			display: none;
		}
	-->
</style>
<body>
	<div id="progress"></div>
	<div id="current"></div>
	<div id="sendedMails">
	 <?php 
		for( $i = 0 ; $i <= 100 ; ++ $i ) {
			printf( '<p class="sended">mail%d@example.com</p>' , $i ) ;
		}
	 ?>
	</div>
</body>
</html>

 

O if comentado, mostra o atual, o outro, vai imprimindo um por 1 .. agora basta você fazer o loop, e imprimir cada parágrafo com o email enviado ..

 

# Andrey, olhando direito aqui o código, pelo que vi, ele faz um loop no FOR de ( 100 repetições ), porém minha grande dúvida é, se meu BD tiver 2MIL e-mails para enviar, ele não vai fazer o LOOP de 2mil e sim somente de 100 dentro do FOR

<?php 
		for( $i = 0 ; $i <= 100 ; ++ $i ) {
			printf( '<p class="sended">mail%d@example.com</p>' , $i ) ;
		}
	 ?>

 

 

# Vem a pergunta, onde ai eu coloco meu loop de ( while ) consultando o banco e trazendo todos os e-mails e inserindo dentro desse LAÇO que você fez acima de forma que ele faça o que a programação manda e que envie todos os e-mails mesmo sendo 100 ou 2mil e-mails ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.