Ir para conteúdo
Fórum Script Brasil
  • 0

Query Em Campo Data


adailton

Pergunta

Montei uma tabela em bd para gravação de dados de um form de cadastro. A estrutura segue:

id_user,nome_user,dt_user,end_user,email_user,cid_user,cep_user, estado_user

ate ai tudo bem. Gero o formulario, gravo os dados faço a consultas, sem novidades.

Agora gostaria que de desenvolver um script que faria consulta nesta tabela usando os campos dt_user (data de nascimento) e email_user (e-mail do usuario);

comparace com a data do sistema, e em caso de serem iguais envia uma mensagem para email do usuario.

Pergunta?

- qual o formato de dados que deve ter meu campo dt_user - coloquei varchar

- como faço para a consulta restringer a dia e mes

---- Fiz este script (abaixo) não retorna errom porem não envia, acredito que o erro esteja no formato da data no bd, e na pesquisa

$cone = mysql_connect($host,$user,$passwd);

mysql_select_db($bd,$cone) or die ("erro");

$sql="select nome_user,email_user,dt_user from tb_clientes where dt_user=CURRENT_DATE() order by nome_user";

//$query=mysql_query($sql);

$query=mysql_query($sql,$cone);

while ($linha=mysql_fetch_array($query))

{

$assunto="Parabéns ".$linha[0];

$mensagem="BLA BLA BLA";

mail($linha[1],$assunto,$mensagem,"De: Sua Página");

}

Agradeço a ajuda

Link para o comentário
Compartilhar em outros sites

18 respostass a esta questão

Posts Recomendados

  • 0

Tenta isso....

<?

$datahoje = gmdate('d/m/Y');#hoje 12/12/2003

$datashoje = explode('/',$datahoje);#separa a data

$dataDM = $datashoje[0].$datashoje[1];#Assim você so vai ter o dia e o mes no caso 1212

/* dai e so você fazer a mesma coisa com os dados da tabela

depois você compara a data de hoje com as datas do seu banco

dai você envia o email.*/

?>

v c você consegue....

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - adailton -
Tenta isso....

<?

$datahoje = gmdate('d/m/Y');#hoje 12/12/2003

$datashoje = explode('/',$datahoje);#separa a data

$dataDM = $datashoje[0].$datashoje[1];#Assim você so vai ter o dia e o mes no caso 1212

/* dai e so você fazer a mesma coisa com os dados da tabela

depois você compara a data de hoje com as datas do seu banco

dai você envia o email.*/

?>

v c você consegue....

vou tentar, valeu

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Adailton -
e so mandar..

olha o codigo

<?

$mes = date("m");

$dia = date("d");

switch($mes){

case 01:

$mess = "Janeiro";

break;

case 02:

$mess = "Fevereiro";

break;

case 03:

$mess = "Março";

break;

case 04:

$mess = "Abril";

break;

case 05:

$mess = "Maio";

break;

case 06:

$mess = "Junho";

break;

case 07:

$mess = "Julho";

break;

case 08:

$mess = "Agosto";

break;

case 09:

$mess = "Setembro";

break;

case 10:

$mess = "Outubro";

break;

case 11:

$mess = "Novembro";

break;

case 12:

$mess = "Dezembro";

break;

default:

$mess = "invalido";

break;

}

$conexao = mysql_connect("conexão","user","pass"); // Informacoes do Site

mysql_select_db("db",$conexao); // Nome do Banco de Dados

$sql = mysql_query("SELECT * FROM tabela where mesn_user='".$mes."'");

if(mysql_num_rows($sql) > 0){

while ($rs = mysql_fetch_array($sql)){

$membro = $rs["nome_user"];

$aniver = $rs["dian_user"];

echo "<table width=\"553\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">

<tr class=\"geral\">

<td width=\"40%\" height=\"20\" bgcolor=\"ffcc00\"><strong>&nbsp;Aniversariante:</strong> $membro</td>

<td width=\"35%\" height=\"20\" bgcolor=\"ffcc00\"><strong>&nbsp;Dia:</strong> $aniver</td>

<td width=\"25%\" height=\"20\" bgcolor=\"C5C5C5\"><div align=\"left\"><strong>&nbsp;M&ecirc;s:</strong> $mess</div></td>

</tr>

</table><br>"; // Aqui Pode Ser Mudado

}

}

$soma = mysql_query("SELECT count(dian_user) AS total FROM tb_clientes where dian_user=".$dia."'"); // Mandar Email no Dia

$exp = @mysql_fetch_array($soma);

$total = $exp["total]+0;

echo "$total Membro(s) Faz(em) Aniversario Hoje!<br>";

$sql = mysql_query("SELECT * FROM tb_clientes where dian_user='".$dia."'");

$rs = mysql_fetch_array($sql);

$dias = $rs["dian_user"];

$email = $rs["email_user"];

$membro = $rs["nome_user"];

$codigo = $rs["id_user"];

//$recebido = $rs["recebido"];

$assunto = "$membro , Agente Não Esqueceu!"; // Assunto

$mensagem = "Ola $membro Parabens pelo Seu Aniversario. A Equipe do Site CAPESP Deseja Muitas Felicidades!"; // Mensagem

if($dias == $dia){

//if($recebido == ""){

mail($email,$assunto,$mensagem,"From: LoS DeTi"); // Remetente

//$atualiza = mysql_query("update tb_clientes set recebido='1' where id_user='$codigo'");

}

else{

echo "Desculpe, Mas Não Temos Usuarios Registrados que Fazem Aniversario no Mês de $mess"; // Se Não Tiver Aniversariante no Dia

}

?>

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Adailton -
ta funcionando???

Sim o meu problema é que ele só esta enviando para o 1º registro encontrado.

Ele consulta, da o total de aniversariantes, filtra. Na hora de enviar vai somente para o primeiro. Não consigo localizar o erro.

Se você puder me ajudar.

Agradeço muito

Link para o comentário
Compartilhar em outros sites

  • 0

faz o seguinte...

<?

$mes = date("m");

$dia = date("d");

switch($mes){

case 01:

$mess = "Janeiro";

break;

case 02:

$mess = "Fevereiro";

break;

case 03:

$mess = "Março";

break;

case 04:

$mess = "Abril";

break;

case 05:

$mess = "Maio";

break;

case 06:

$mess = "Junho";

break;

case 07:

$mess = "Julho";

break;

case 08:

$mess = "Agosto";

break;

case 09:

$mess = "Setembro";

break;

case 10:

$mess = "Outubro";

break;

case 11:

$mess = "Novembro";

break;

case 12:

$mess = "Dezembro";

break;

default:

$mess = "invalido";

break;

}

$conexao = mysql_connect("conexão","user","pass"); // Informacoes do Site

mysql_select_db("db",$conexao); // Nome do Banco de Dados

$sql = mysql_query("SELECT * FROM tabela where mesn_user='".$mes."'");

if(mysql_num_rows($sql) > 0){

while ($rs = mysql_fetch_array($sql)){

$membro = $rs["nome_user"];

$aniver = $rs["dian_user"];

echo "<table width=\"553\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">

<tr class=\"geral\">

<td width=\"40%\" height=\"20\" bgcolor=\"ffcc00\"><strong>&nbsp;Aniversariante:</strong> $membro</td>

<td width=\"35%\" height=\"20\" bgcolor=\"ffcc00\"><strong>&nbsp;Dia:</strong> $aniver</td>

<td width=\"25%\" height=\"20\" bgcolor=\"C5C5C5\"><div align=\"left\"><strong>&nbsp;M&ecirc;s:</strong> $mess</div></td>

</tr>

</table><br>"; // Aqui Pode Ser Mudado

Manda ele mandar o email aki. a cada usuario ele vai enviar o email

}

}

$soma = mysql_query("SELECT count(dian_user) AS total FROM tb_clientes where dian_user='".$dia."'"); // Mandar Email no Dia

$exp = @mysql_fetch_array($soma);

$total = $exp["total]+0;

echo "$total Membro(s) Faz(em) Aniversario Hoje!<br>";

$sql = mysql_query("SELECT * FROM tb_clientes where dian_user='".$dia."'");

$rs = mysql_fetch_array($sql);

$dias = $rs["dian_user"];

$email = $rs["email_user"];

$membro = $rs["nome_user"];

$codigo = $rs["id_user"];

//$recebido = $rs["recebido"];

$assunto = "$membro , Agente Não Esqueceu!"; // Assunto

$mensagem = "Ola $membro Parabens pelo Seu Aniversario. A Equipe do Site CAPESP Deseja Muitas Felicidades!"; // Mensagem

if($dias == $dia){

//if($recebido == ""){

mail($email,$assunto,$mensagem,"From: LoS DeTi"); // Remetente

//$atualiza = mysql_query("update tb_clientes set recebido='1' where id_user='$codigo'");

}

else{

echo "Desculpe, Mas Não Temos Usuarios Registrados que Fazem Aniversario no Mês de $mess"; // Se Não Tiver Aniversariante no Dia

}

?>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...