Ir para conteúdo

POWERED BY:

Arquivado

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

Andreia Regina

Dificuldade ao atualizar tabela, Update

Recommended Posts

Olá Pessoal!

 

Estou com uma dificuldade, estou desenvolvendo um script de newsletter onde há a atualização das tabelas tb_mensagens e tb_contatos no banco de dados.

Preciso que ele altere o status das duas tabelas para poder controlar para quem já foi enviada a mensagem e qual mensagem foi enviada, mais tarde vou configurar o crontab para fazer isso automaticamente.

Só que o scritpt abaixo atualiza a tb_mensagens, mas não a tb_contatos. http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif

Eu até coloquei echos com mensagem para ver onde ele está e mostra normalmente a mensagem do echo.

Outra coisa: se o status da mensagem em tb_mensagens for 1 ele não mostra a mensagem de que não há mensagem para ser enviada.

Preciso da ajuda de vcs em mais esta http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

PHP

[*]<?php

[*]require_once "conexao.php";

[*]

[*]$sql_1= mysql_query("SELECT * FROM tb_mensagens WHERE status=0 ORDER BY id DESC") or die(mysql_error());

[*]while ($m=mysql_fetch_array($sql_1)

[*]{

[*] $id = $m[0];

[*] $assunto  = $m[1];

[*] $mensagem = $m[2];

[*] $msg_body = nl2br($mensagem);

[*] $imagem = $m[3];

[*]

[*] if (mysql_num_rows($sql_1)>0)

[*] {

[*] // altera o status 0 para 1 das mensagens (0= gravado 1=pronta para enviar 2=enviando)

[*] $query = "UPDATE tb_mensagens SET status='1' WHERE status='0' AND id='$id'";

[*] mysql_query($query);

[*]

[*] $sql_2= mysql_query("SELECT email FROM tb_contatos WHERE status='0' LIMIT 0,2") or die(mysql_error());

[*] echo "selecionando emails <br>";

[*] while ($lista = mysql_fetch_array($sql_2)

[*] {

[*] $email = $lista[1];

[*] echo "endereços selecionados! <br>";

[*] } //while ($lista = mysql_fetch_array($sql_2))

[*]

[*] if (mysql_num_rows($sql_2)>0)

[*] {

[*] // alterando o status dos e-mails selecionados (0= não enviado 1= enviado)

[*] $query_2 = "UPDATE tb_contatos SET status='1' WHERE email='$lista'";

[*] mysql_query($query_2);

[*] echo "alterando status dos endereços selecionandos!<br>";

[*] // jogando os emails para um array

[*] $mails[] = $lista['email'];

[*]

[*] // formatando os endereços, separando-os por vírgula

[*] $mails = implode(",",$mails);

[*] echo "$mails";

[*] // PREPARANDO MENSAGEM PARA ENVIO COM IMAGEM E TEXTO

[*] $recipients = ""// destino (endereço de e-mail) como se fosse enviado para uma lista.

[*] } //if (mysql_num_rows($sql_2)>0)

[*] else

[*] {

[*]  print "Não há endereços de emails disponíveis para o envio dessa newsletter.";

[*]  print "<br>";

[*]  print "<a href='menu.php'>Voltar ao menu</a>";

[*] } //else do if (mysql_num_rows($sql_2)>0) de emails

[*] }//if (mysql_num_rows($sql_1)>0)

[*] else

[*] {

[*] print "Não há mensagem para ser enviada.";

[*] print "<br>";

[*] print "<a href='java script:history.go(-1);'>clique aqui para voltar ao formulário.</a>";

[*] }// else do if ($total == 1)

[*]} //while da mensagem

[*]?>

Ah! Aproveitando o tópico!!!

Nesse programinha, o utilizador pode inserir uma imagem quando vai preencher a mensagem. O nome da imagem é gravada no banco, preciso saber como eu busco a imagem lá para enviar junto com a mensagem.

 

Desde já agradeço ://forum.imasters.com.br/public/style_emoticons/default/blush.gif

 

Andreia Regina

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade Walace, ainda não deu certo, não!

Eu é que não quis incomodá-lo http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

Alterei o código, mas continua só atualizando uma tabela e a outra não

PHP

[*] // altera o status 0 para 1 das mensagens (0= gravado 1=pronta para enviar 2=enviando)

[*] $query = "UPDATE tb_mensagens SET status='1' WHERE status='0' AND id='$id'";

[*] mysql_query($query);

[*] // alterando o status dos e-mails selecionados (0= não enviado 1= enviado)

[*] $query_2 = "UPDATE tb_contatos SET status='1' WHERE status='0' AND email='$lista'";

[*] mysql_query($query_2);

[*] echo "alterando status dos endereços selecionandos!<br>";

 

Obrigada

 

-----------------Editando

://forum.imasters.com.br/public/style_emoticons/default/joia.gif Obrigada Walace pela ajuda!!! ://forum.imasters.com.br/public/style_emoticons/default/hug.gif

Você é 10000000 ://forum.imasters.com.br/public/style_emoticons/default/clap.gif

 

Andreia Regina

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.