Ir para conteúdo

POWERED BY:

Arquivado

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

tiagocaus

[Resolvido] Estou tendo dificuldades com Do While

Recommended Posts

Bom dia,

Estou tentando fazer um While dentro do corpo de um email a ser enviando. Vou explicar, estou fazendo um site onde tem um formulário, a mesma pessoa pode enviar vários chamados, mas para visualizar é preciso digitar o email e ID do chamado. Só que muita das vezes as pessoas esquecem os IDs, estão estou fazendo um campo chamado email2 em um form2 onde a pessoa digita o email, em seguida faz uma consulta sobre aquele email e retorna todas as IDs referente aquele email digitado. Veja o corpo do meu email. Estou tendo problema na linha 33 > echo $row_rs['Id'];

".

Outra coisa, na parte do mail, gostaria de que se nenhum email foce encontrado aparecesse um mensagem "Não tem IDs para esse email, tente outro.", e se encontrasse enviaria os IDs para o emils da pessoa.

 

<?php 
require_once('../Connections/conexao.php');

$email = $_POST["email2"];

mysql_select_db($database_conexao, $conexao);
$query_rs = "SELECT * FROM perguntas WHERE email = '$email' ORDER BY Id ASC";
$rs = mysql_query($query_rs, $conexao) or die(mysql_error());
$row_rs = mysql_fetch_assoc($rs);
$totalRows_rs = mysql_num_rows($rs);


include('../config.php');




$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n"; // para mandar html você deve ter esse trecho...

/* headers adicionais */

$headers .= "From: $email_igreja"; // opcional

$mensagem = "<a href=\"$site\"><img src=\"$site/site/images/logo/logo.png\" alt=\"<?php echo $nome_da_igreja ?>\" border=\"0\" /></a><br />

Você solicitou o reenvio de seu(s) código(s) de aconselhamento, veja abaixo<br>
<br>
<strong>ID(s):</strong><br>
do { 
$row_rs['Id'];
} while ($row_rs = mysql_fetch_assoc($rs)); 

<br />----<br />
$nome_da_igreja<br />
<a href=\"$site\" target=\"_blank\">$site</a><br />
<div style=\"font-size:9px; padding-top:30px;\">Sistema desemvolvido por <a href=\"http://www.hostcia.net\" target=\"_blank\"><br />Hosting & CIA</a></div>

";


	mail($email, "LEMBRETE DE ACONSELHAMENTO", $mensagem, $headers);
	echo "<script type='text/javascript'>alert('Veja seu email acabamos de enviar o(s) ID(s). Caso não tenha recebido veja na lista de SPAM e nos habilite.');window.location = 'pag_aconselhamento.php';</script>";


?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Lembrar código(s) da(s) pergunta(s)</title>
</head>

<body>
</body>
</html>
<?php
mysql_free_result($rs);
?>

 

Tem como alguem me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tiago, bom dia.

 

Eu trabalharia o laço de repetição da seguinte forma:

 

if ( $totalRows_rs > 0 ){
   foreach ( mysql_fetch_assoc($rs) as $obj ){
        echo $row_rs->Id;
   }
} else {
   echo "Não tem IDs para esse email, tente outro!";
}

 

 

Caso não funcione, antes do if, tente dar um var_dump no seu mysql_fetch_assoc($rs) ou se preferir, no seu proprio array associativo e poste o resultado para tentar lhe ajudar melhor!

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigão, mas isso eu não estou imprimindo na tela, estou enviando por email. o modo de uso é diferente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo tiagocaus para que o echo já que você não está imprimindo na tela ??? :huh:

Explique melhor o erro ocorrido, e o que você quer fazer.

Qual é a mensagem de erro?

 

Não adicione no titulo/subtitulo do tópico palavras como AJUDA, URGENTE, DÚVIDA, PELO AMOR DE DEUS e derivados. Faça tópicos com titulos claros e coerentes com a sua dúvida ok? ^_^

 

Leia o tópico abaixo por gentileza:

 

http://forum.imasters.com.br/topic/375800-orientacoes-para-uma-boa-participacao/

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exemplo:

Tabela:

 

ID | Email

-------------

10 | fulano@email.com.br

11 | sicrano@email.com.br

12 | sicrano@email.com.br

15 | fulano@email.com.br

22 | sicrano@email.com.br

75 | fulano@email.com.br

 

Se eu digitar no campo o email fulano@email.com.br tem que me retornar somente os IDs

- 10

- 15

- 75

 

Entende?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi sim amigo tiagocaus.

 

La onde você deixou o $row_rs['Id']; voando após editar o post para remover o echo,

atribua uma variável array, depois concatene a mesma a $mensagem com os devidos códigos

html que deseja exibir no corpo do e-mail;

 

Faça os testes e depois poste os erros para lhe orientarmos.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

aff...rsrs não entendi nada...rsrs. Você não pode postar o codigo corrigido para eu entender como deve ser feito?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo tiagocaus se você não entendeu o básico do básico (que foi o que eu disse) antes de continuar a desenvolver

acho melhor dar uma lida com carinho no link abaixo:

 

http://www.php.net/manual/

 

É fundamental saber o que está fazendo antes de desenvolver algo.

Como percebi que você ainda não sabe bem, fica ai minha dica para que você consiga continuar seu script.

 

De uma estudada no conteúdo do link ou contrate um freelancer para desenvolver o script para você caso

sua urgência seja extrema. É de suma importância não prometer a ninguém o desenvolvimento de algo que você

não tenha plena consciência de como fazer ok? Não que você tenha feito isto mas já fica a dica para não fazer. ;)

 

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse forum é feito para ajudar ou para humilhar? Esse forum já foi bom!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não amigo tiagocaus não estamos aqui para humilhar ninguém,

simplesmente fui sincero com você, oque me pergunto realmente foi

o básico de PHP.

 

Não adianta tentar desenvolver coisas complexas sem saber o básico.

Eu mandei o link para você ler porque acredito eu que seja uma excelente

maneira de aprender melhor como funciona o PHP em todos os seus aspéctos.

 

Todas as dicas que dei a você foi em prol de seu crescimento como programador

e não para lhe humilhar. Falei do freelance pois as vezes precisamos apenas

resolver um problema e não estamos com tanto tempo disponível para estudar.

 

Neste caso o freelance se adequa melhor.

 

Espero que tenha entendido oque quis dizer.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola,

 

Entendi o que Periscuelo quis dizer e concordo plenamente, mesmo assim decide tentar dar um help ao nosso amigo ai...

 

pelo que entendi deve ser isso aqui:

 

$mensagem = "<a href=\"$site\"><img src=\"$site/site/images/logo/logo.png\" alt=\"<?php echo $nome_da_igreja ?>\" border=\"0\" /></a><br />

Você solicitou o reenvio de seu(s) código(s) de aconselhamento, veja abaixo<br>
<br>
<strong>ID(s):</strong><br>";

while ($row_rs = mysql_fetch_assoc($rs)){

  $mensagem.=$row_rs['Id']."<br />";

}
$mensagem.="
<br />----<br />
$nome_da_igreja<br />
<a href=\"$site\" target=\"_blank\">$site</a><br />
<div style=\"font-size:9px; padding-top:30px;\">Sistema desemvolvido por <a href=\"http://www.hostcia.net\" target=\"_blank\"><br />Hosting & CIA</a></div>
";

 

Testa ai!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa muito obrigado 'thallescard'. Esta acontecendo algo interessante, um dos email lista certinho, mas no outro email só aparece 1 registro sendo que tem 2. Eu converir para ver se o email estava certo... o que sera?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta entao manter a estrutura de loop que você estava utilizando, talvez seja isso:

 

Não tenho costume de usar desse jeito e to meio abafado pra olhar agora..

 

do { 

  $mensagem .= $row_rs['Id'];

} while ($row_rs = mysql_fetch_assoc($rs)); 

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora funcionou perfeitamente!!!!! Valeu, é como pessoas como você que faz o Brasil crescer!!!!!!!!!!!!!!

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.