Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal...tenho a seguinte linha de código:$emails = $reg[strtolower($_POST['formatacao2'])] ; este $formatacao2 é um resultado que vem de uma COMBOBOX, dependendo do resultado que vem é selecionado um campo da minha tabela, e são enviados apenas os emails daquele campo, ** mail("$emails","$assunto","$msg","$headers")***, porém eis a dúvida????Tenho 2 campos digamos assim, (clientes e visitantes), cada um com e-mails diferentes, que são enviados pela ação da COMBOBOX. e se na COMBO eu selecionar 'TODOS', onde a intensão seria enviar os e-mails dos dois campos .... como faço?Obrigado.
Então Felipe desta forma da certo, porém os campos da tabela são dinâmicos e não pré definidos, ou seja, não possó definilos desta forma, pois o cliente terá a opção de incluir e excluir categorias (campos) sendo assim hj é clientes e visitantes, amanhã poderá ter funcionários..,?????? têm como?
Bom, levanto que isso esta cadastrado num banco de dados, pode ser feito da seguinte forma:
if($opcao == 'todos'){ $sql = "select * from categorias" while(arrSQL = mysql_fetch_array(mysql_query($sql))) { conforme roda o loop, ele pega os emails da tabela e envia }}
Isso resolve???
Felipe.. coloquei assim:
if($_POST['formatacao2'] == 'todos'){$sql = "select * from $tb3"while($arrSQL = mysql_fetch_array(mysql_query($sql))){echo $arrSQL;}}e apareceu o seguinte erro:
Parse error: parse error, unexpected T_WHILE in C:\wamp\www\newsletter\admin\envia_msg.php on line 33
pq será este erro no while???
Você esqueceu do ";" na linha do "$sql"
Além de que você não conseguira printar o "$arrSQL", pois você criou um array com os elementos de retorno do banco. Vou colocar um exemplo que vou criar agora hehe
if($_POST['formatacao2'] == 'todos'){$sql = "select * from $tb3";while($arrSQL = mysql_fetch_array(mysql_query($sql))){ $assunto = $_POST['assunto']; $mensagem = $_POST['mensagem']; $corpo = "<table>"; $corpo .= " <tr>"; $corpo .= " <td>"; $corpo .= $assunto; $corpo .= " </td>"; $corpo .= " <tr>"; $corpo .= " <tr>"; $corpo .= " <td>"; $corpo .= $mensagem; $corpo .= " </td>"; $corpo .= " <tr>"; $corpo .= "<table>"; $para = $arrSQL['email']; // aqui o email mail($para,$assunto,$mensagem);}
Algo assim, entendeu? =x
Então Felipe....até esta forma que você escreveu ficou clara e eu havia feito mas de outra forma, porém não posso fazer assim, me corrija se eu estiver errado:esta linha -->> $para = $arrSQL['email']; // aqui o emailnão pode ter este 'email', pois sendo assim eu só irei pegar este e-mail especifico ou apenas um campo chamado email, certo? ou não?ou este 'email' já é todos os campos da tabela juntos que contém TODOS os e-mails?preciso que justamente neste parâmetro seja colocado algo (não sei o que) que pegue todos os e-mails da tabela.
Como você estara em loop, estara pegando todos os e-mails da tabela sim.Exemplo:Você tem cadastrados as seguintes categorias: (em ordem)ClientesFuncionáriosVisitantesGerência1º loop: arrSQL['email'] = clientes@myhost.com2º loop: arrSQL['email'] = funcionarios@myhost.com3º loop: arrSQL['email'] = visitantes@myhost.com4º loop: arrSQL['email'] = gerencia@myhost.comTendeu???Eu nunca consegui fazer com que a função mail, enviasse para mais de um e-mail por vez, tipo como fazemos nos webmails/gerenciadores (clientes@myhost.com; funcionarios@myhost.com), somente usando smtp.Por isso usei um loop
NOssa é mais complicado que eu pensava...Vou tentar fazer desta forma e qquer coisa eu grito de novo beleza?brigadãoo por enquanto FELIPE... abs
Se entendi direito, isso é facil
if($opcao == 'todos'){ envia visitante envia clientes}