Enviando consulta condicional por email [Resolvido]

sc_select(rs, "SELECT id, desc_tip_equip, desc_modelo_equip, desc_tag, desc_tip_equip, desc_fim_garantia FROM desc_equipamento WHERE desc_fim_garantia BETWEEN curdate() AND curdate() + interval 45 day ");

if ({rs} === false)
{
echo "Erro de acesso. Mensagem = " . {rs_erro};
}
else
{
echo 'Alguns de seus Equipamentos ativos estão no Fim de prazo de garantia
';
while (!{rs}->EOF){

        {desc_tip_equip}    = {rs}->fields[1];
		{desc_modelo_equip} = {rs}->fields[2];
		{desc_tag} 		    = {rs}->fields[3];
		{desc_fim_garantia} = {rs}->fields[5];
		
		echo '
		<BR>'.$desc_tip_equip.' '.$desc_modelo_equip.' da Service Tag: '.$desc_tag.' irá Expirar no dia '.date('d/m/Y', strtotime($desc_fim_garantia)).' 
		';

{rs}->MoveNext();
}

{rs}->Close();
}

Meu proposito neste codigo é enviar por email algumas garantias que estão expirando. o codigo funciona, porém gostaria de enviar está consulta por email. ai vem a dificuldade. Sempre que coloco o sc_mail_send dentro do while, ele acaba enviando um email para cada registro, e quando o coloco fora do while ele envia um registro apenas no email. e gostaria que o codigo enviasse o email com todos os registros encontrados no select acima.


exatamente como nesta imagem

Você deve percorrer primeiro todos os registros e ir acumulando eles em uma variável,
depois que terminar o loop while, poderá enviar o e-mail com a variável acumulada, exemplo:

if ({rs} === false) {

	echo "Erro de acesso. Mensagem = " . {rs_erro};
	
} else {

	echo 'Alguns de seus Equipamentos ativos estão no Fim de prazo de garantia';
	
	$_Mensagem = '';

	while (!{rs}->EOF) {

			$_desc_tip_equip = {rs}->fields[1];
			$_desc_modelo_equip = {rs}->fields[2];
			$_desc_tag = {rs}->fields[3];
			$_desc_fim_garantia = {rs}->fields[5];
			
			$_Mensagem.=$_desc_tip_equip.' '.$_desc_modelo_equip.' da Service Tag: '.$_desc_tag.
			            ' irá Expirar no dia '.date('d/m/Y', strtotime($_desc_fim_garantia))."<BR>"; 

		    {rs}->MoveNext(); // Mover para próximo registro.

	} // while (!{rs}->EOF)

	{rs}->Close();
	
	// Enviar o e-mail aqui... usando a variável $_Mensagem

} // if ({rs} === false)

=================

No SC 9.4 você também pode exportar uma consulta ‘grid’ inteira para o e-mail caso desejar:

http://127.0.0.1:8091/scriptcase/doc/manual_mp/manual/06-aplicacoes/02-aplicacao-consulta/31-exportacao-email/index.html#id-1

2 Curtidas

Deu Certo meu amigo. muito obrigado.

1 Curtida

Favor Editar o título do Post no inicio e colocar [Resolvido]

Grato.