• Anúncios

    • Novo Fórum

      Pessoal, Atualizamos nossa versão do fórum para a mais recente da Invision Power. Como tínhamos uma versão muito antiga, talvez algumas áreas possam funcionar de forma errada ou com problemas, gostaria de pedir-lhes a compreensão, pois iremos resolvendo aos poucos. Até mais!
Entre para seguir isso  
Seguidores 0

Banco de Dados + Programa de Mala direta

7 posts neste tópico

Postado · Denunciar post

Olá pessoal, sou nova no fórum e gostaria de ter algumas informações de quem puder me auxiliar...

Gostaria de saber como eu iria fazer um sistema de cadastro (em PHP + MySql) que tivesse ligação com um programa que pegasse as informações dos clientes cadastrados e baseando-se em suas datas de aniversário enviasse automaticamente malas diretas com promoções e etc....alguem poderia me ajudar? Que linguagens eu teria que usar para fazer isso funcionar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Postado (editado) · Denunciar post

Olá pessoal, sou nova no fórum e gostaria de ter algumas informações de quem puder me auxiliar...

Gostaria de saber como eu iria fazer um sistema de cadastro (em PHP + MySql) que tivesse ligação com um programa que pegasse as informações dos clientes cadastrados e baseando-se em suas datas de aniversário enviasse automaticamente malas diretas com promoções e etc....alguem poderia me ajudar? Que linguagens eu teria que usar para fazer isso funcionar?

bom, você pode usar o proprio PHP + MYSQL, alias, pode fazer tudo junto.

A idéia seria a seguinte, vc desenvolve um cadastro.. (sabe fazer?)

depois um arquivo a parte, digamos, envia_maladireta.php

<?
//conecta ao seu banco de dados, coloque o codigo abaixo

//abaixo executamos uma query que irá retornar, NOME, EMAIL, ANIVERSARIO, IDADE da tabela CLIENTES

$sql = mysql_query("
SELECT nome, email, aniversario,
 (YEAR(CURDATE())-YEAR(aniversario)) - (RIGHT(CURDATE(),5)<RIGHT(aniversario,5))
 AS idade
 FROM clientes
 WHERE (DAY(aniversario) = DAY(CURDATE()) AND (MONTH(aniversario) = MONTH(CURDATE())");
$row = mysql_num_rows($sql);

//Após isso, vamos ver se retornou alguma coisa
if($row) {

$nome = mysql_result($sql, $i, "nome");
$email = mysql_result($sql, $i, "email");
$nascimento = mysql_result($sql, $i, "nascimento");

//abaixo vc monta sua mensagem. Pode também pegar de um arquivo HTML usando o file_get_contents()
$mensagem = "$nome, parabéns pelo seus $idade anos. Aproveite nossas promoções com desconto especial para você. Somente hoje!"; 
   
        //se sim, entao vamos enviar os emails para os destinatarios
        for($i=0; $i<$row; $i++) {
             @mail($email, "Assunto do email",$mensagem,"From: Seu site <[email protected]>");
        }
}
?>

Para que ele execute sozinho, vc precisa acrescentar uma chamada no agendador de tarefas se for windows

Windows fica assim

C:\php\php.exe C:\seu_site\envia_maladireta.php

No Linux

tem q usar o Cron

Té +

Editado por Alex Gotardi

Compartilhar este post


Link para o post
Compartilhar em outros sites

Postado · Denunciar post

E ae Alex, blz ?

Aproveitando a oportunidade que você ajudou o cara; eu me deparei com uma coisa que não conhecia:

(YEAR(CURDATE())-YEAR(aniversario)) - (RIGHT(CURDATE(),5)<RIGHT(aniversario,5))

Poderia me explicar melhor sobre isso ?

Valeu !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Postado · Denunciar post

Realmente, também não conhecia...

Ficaria Grato Alex, se você nos explicasse

"melhor". =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Postado · Denunciar post

E ae Alex, blz ?

Aproveitando a oportunidade que você ajudou o cara; eu me deparei com uma coisa que não conhecia:

(YEAR(CURDATE())-YEAR(aniversario)) - (RIGHT(CURDATE(),5)<RIGHT(aniversario,5))

Poderia me explicar melhor sobre isso ?

Valeu !

Opa... e ai pessoal blz?

o comando é simples, na verdade nem é PHP é query avançada. (nem tao avançada assim)

vamos desossar o gado então.

(YEAR(CURDATE())-YEAR(aniversario)) - (RIGHT(CURDATE(),5)<RIGHT(aniversario,5))

A expressao foi dividida em 2 partes, a primeira é responsavel por determinar

a diferença de anos entre duas datas padrao YYYY-MM-DD

enquanto a parte 2 é responsavel por capturar da direita (RIGHT) para a esquerda os 5 caracteres da data.

ou seja, tomemos por exemplo uma data assim. 1980-06-06 se aplicarmos RIGHT(data,5) ele retornará 0 se for falso e 1 se for verdadeiro (equivale ao if)

ou seja,

no caso de uma pessoa que nasceu em 1980-06-06 (eu no caso ;) )

se aplicar a formula acima, retornaria

2006-1980 - 0 = 26 (anos)

zero pq ele viu que a data de hoje NAO é menor que 06-06

no mesmo exemplo, uma pessoa que nasceu dia 02 de dezembro (02/12)

2006-1980 - 1 = 25 (anos)

1 por que a o mes e o dia atual É menor do que 2 de dezembro.

entao a pessoa ainda vai fazer 26 anos..

lembrando que todas as datas no mysql assumem Ano-mes-dia

Abraços a vcs. :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Postado · Denunciar post

Vou tentar desenrolar aqui e se der certo eu posto

Obrigada hem B)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar Agora
Entre para seguir isso  
Seguidores 0