Jump to content


Photo

Aniversários


  • Faça o login para participar
10 replies to this topic

#1 [webmaster]®

[webmaster]®

    Hobby por criar funções genérica, semânticas e otimizadas

  • Usuários
  • 310 posts
  • Sexo:Não informado
  • Localidade:Canoas - RS
  • Interesses:ASP<br>CSS<br>JavaScript - DOM - ECMASCRIPT - JSCRIPT<br>XHTML<br>HTML<br>DHTML, AJAX, JSON, TABLELESS<br>ACESS<br>MYSQL<br>SQL SERVER<br><br>SEO, WEBSTANDARDS, ACESSIBILIDADE, USABILIDADE, AI

Posted 30/01/2004, 05:58

Fala Galera!!!

No meu site quero exibir um os 5 aniverários mais próximos da data atual.
No caso, puxo do BD o campo NASCIMENTO, mas dae vem o data do ano do nacimento junto, o q é desnecessário.

Gostaria de saber se cláusula SQL dá pra fazer pra selecionar apenas o dia e o mesmo do nascimento do membro.
Tentei fazer day(nascimento)"&"/"&"Month(nascimento) na SQL mas naum deu.
A data eu fiz tipo uma função pra deixa-la formatada direito, sendo q to usando uma outra função também que consegui aki no fórum com o Tarkan, entendi ela e td mais.
No caso taria mais ou menos assim meu código:
<%
dim dd, mm, aa
function FormataData(data)
dd = day(data)
mm = month(data)
aa = year(data)

if len(dd) = 1 then dd = "0" & dd
if len(mm) = 1 then mm = "0" & mm

FormataData = cstr(dd & "/" & mm & "/" & aa)
end function

dim data_atual
data_atual = FormataData(Date)

dim niver_dia, niver_mes, niver_ano
niver_dia = Day(data_atual)
niver_mes = Month(data_atual)
niver_ano = Year(data_atual)

if Len(niver_dia) < 2 then
	niver_dia = "0"&Month(data_atual)
end if
if Len(niver_mes) < 2 then
	niver_mes = "0"&Month(data_atual)
end if

dim data_niver
data_niver = niver_dia&"/"&niver_mes

dim sql, rs3
sql = "SELECT top 5, id, apelido FROM membros WHERE Day(nascimento)"&"/"&"Month(nascimento) >= #"&data_niver&"# ORDER BY id DESC"
set rs3 = db.Execute(sql)
do while not rs3.eof
'dados dos membros, com o id e o apelido
rs.movenext
loop

'logo depois só um teste
Response.Write(niver_dia&"<br>")
Response.Write(niver_mes&"<br>")
Response.Write(niver_ano&"<br>")
Response.Write(data_niver&"<br>")
Response.Write(sql&"<br>")
%>

Meus sites:
- Guia Camaquã
- Laroya atacadista
- Emílio confecções

Ocupação: WebDeveloper avançado

Contato:
Email: gutoasp[at]gmail[dot]com
MSN: gutoasp[at]hotmail[dot]com
Trabalhando desde 1999 com websites.

Para saber mais sobre meu trabalho, sobre o que faço, e o que sei, clique aqui!

#2 Rodrigo

Rodrigo

    oi!

  • Usuários
  • 995 posts
  • Sexo:Não informado
  • Interesses:Diretório de sites - http://www.acheinobrasil.com.br

Posted 30/01/2004, 09:19

use o datediff

#3 [webmaster]®

[webmaster]®

    Hobby por criar funções genérica, semânticas e otimizadas

  • Usuários
  • 310 posts
  • Sexo:Não informado
  • Localidade:Canoas - RS
  • Interesses:ASP<br>CSS<br>JavaScript - DOM - ECMASCRIPT - JSCRIPT<br>XHTML<br>HTML<br>DHTML, AJAX, JSON, TABLELESS<br>ACESS<br>MYSQL<br>SQL SERVER<br><br>SEO, WEBSTANDARDS, ACESSIBILIDADE, USABILIDADE, AI

Posted 30/01/2004, 12:23

Ok... pensei nisso q vc disse, matutei aki um monte, to até suando agora...

Mas não to conseguindo "enchergar" bem a lógica mais pra fazer isso..
Alguma "luz" aí?! Só a lógica, nada pronto... kero eu fazer!!!

Tava pensando em como fazer isso... vai ser um processo meio longo...

Edição feita por: [webmaster]®, 30/01/2004, 12:23.

Meus sites:
- Guia Camaquã
- Laroya atacadista
- Emílio confecções

Ocupação: WebDeveloper avançado

Contato:
Email: gutoasp[at]gmail[dot]com
MSN: gutoasp[at]hotmail[dot]com
Trabalhando desde 1999 com websites.

Para saber mais sobre meu trabalho, sobre o que faço, e o que sei, clique aqui!

#4 Rodrigo

Rodrigo

    oi!

  • Usuários
  • 995 posts
  • Sexo:Não informado
  • Interesses:Diretório de sites - http://www.acheinobrasil.com.br

Posted 30/01/2004, 13:47

exemplo:

data=day(nascimento) & "/" & "month(nascimento)"
DateDiff("d", Now, data)


pronto t dei uma ideia se mesmo assim naum conseguir da um toke ai ;)

#5 [webmaster]®

[webmaster]®

    Hobby por criar funções genérica, semânticas e otimizadas

  • Usuários
  • 310 posts
  • Sexo:Não informado
  • Localidade:Canoas - RS
  • Interesses:ASP<br>CSS<br>JavaScript - DOM - ECMASCRIPT - JSCRIPT<br>XHTML<br>HTML<br>DHTML, AJAX, JSON, TABLELESS<br>ACESS<br>MYSQL<br>SQL SERVER<br><br>SEO, WEBSTANDARDS, ACESSIBILIDADE, USABILIDADE, AI

Posted 30/01/2004, 14:04

Sim brother, estas coisas eu sei.

Vou tentar explicar melhor!

Na página principal do meu site quero selecionar os 5 próximos aniversariantes.
Ex.:
dia de hoje é 30/01
então mostrar os kras com dia e mes mais proximo da data de hj, buscando do BD o campo nascimento.
dae na página principal era pra ficar assim:
01/02 - Rodrigo
02/02 - GuTo
03/02 - CiberMix
04/02 - Tarkan
05/02 - CrazyBaby

Tendeu?
Dae to pensando em como fazer isso na sql.
Seria algo como
SELECT top 5 * FROM membros WHERE ... dae aki seria a minha duvida...

obs.: só vou sair da frente do pc qdo conseguir fazer isso ;), já to aki a algum tempinho...
Meus sites:
- Guia Camaquã
- Laroya atacadista
- Emílio confecções

Ocupação: WebDeveloper avançado

Contato:
Email: gutoasp[at]gmail[dot]com
MSN: gutoasp[at]hotmail[dot]com
Trabalhando desde 1999 com websites.

Para saber mais sobre meu trabalho, sobre o que faço, e o que sei, clique aqui!

#6 [webmaster]®

[webmaster]®

    Hobby por criar funções genérica, semânticas e otimizadas

  • Usuários
  • 310 posts
  • Sexo:Não informado
  • Localidade:Canoas - RS
  • Interesses:ASP<br>CSS<br>JavaScript - DOM - ECMASCRIPT - JSCRIPT<br>XHTML<br>HTML<br>DHTML, AJAX, JSON, TABLELESS<br>ACESS<br>MYSQL<br>SQL SERVER<br><br>SEO, WEBSTANDARDS, ACESSIBILIDADE, USABILIDADE, AI

Posted 31/01/2004, 07:33

Ae galera, to cansado já dessa coisa... fui até em vários sites procurando por aniversarios e achei só um sistema, webtoday, só q tava corrompido...

dae não sei como fazer isso.

Gostaria de uma luz, uma lógica...
e se a sql leria algo como : ... SELECT * FROM membros WHERE Day(nascimento) ...

Se alguém puder me ajudar, agredeço mto. Já to com este problema a mto tempo antes de posta-lo.
Meus sites:
- Guia Camaquã
- Laroya atacadista
- Emílio confecções

Ocupação: WebDeveloper avançado

Contato:
Email: gutoasp[at]gmail[dot]com
MSN: gutoasp[at]hotmail[dot]com
Trabalhando desde 1999 com websites.

Para saber mais sobre meu trabalho, sobre o que faço, e o que sei, clique aqui!

#7 lazerediversao

lazerediversao

    Lazer e Diversão - O seu portal de entretenimento é aqui.

  • Usuários
  • 256 posts
  • Sexo:Masculino
  • Localidade:Guarulhos / São Paulo

Posted 31/01/2004, 10:09

®,31 Jan 2004, 08:33 ] Ae galera, to cansado já dessa coisa... fui até em vários sites procurando por aniversarios e achei só um sistema, webtoday, só q tava corrompido...

dae não sei como fazer isso.

Gostaria de uma luz, uma lógica...
e se a sql leria algo como : ... SELECT * FROM membros WHERE Day(nascimento) ...

Se alguém puder me ajudar, agredeço mto. Já to com este problema a mto tempo antes de posta-lo.

Bem cara eu acabei de montar um sistema porém é dos aniversáriantes do dia !!!
################# DADOS #################
# NOME: Rafael T. Coelho
# SITE: Lazer e Diversão
# CONHECIMENTOS: HTML, Java Script, CSS e ASP
#######################################

#8 lazerediversao

lazerediversao

    Lazer e Diversão - O seu portal de entretenimento é aqui.

  • Usuários
  • 256 posts
  • Sexo:Masculino
  • Localidade:Guarulhos / São Paulo

Posted 31/01/2004, 11:22

®,31 Jan 2004, 08:33 ]Ae galera, to cansado já dessa coisa... fui até em vários sites procurando por aniversarios e achei só um sistema, webtoday, só q tava corrompido...

dae não sei como fazer isso.

Gostaria de uma luz, uma lógica...
e se a sql leria algo como : ... SELECT * FROM membros WHERE Day(nascimento) ...

Se alguém puder me ajudar, agredeço mto. Já to com este problema a mto tempo antes de posta-lo.

Olá [webmaster]® andei estudando seu código e acho que entendi o que quer fazer !!!

Vamos ver se entendi seu raciocinio !!!

Você quer selecionar os usuários pelo dia e mês certo ???

Bem caso seja isso eu quando fui fazer o meu sitema cujo sitei acima estava tendo o mesmo problema !!!

Porém consegui faze-lo funcionar !!!

Eu estava fazendo parecido com a forma que você fez !!!

Mas consegui o que eu queria com uma mudança muito simples por isso lhe dou essa sugestão !!!

Faça Assim !!!

Ao Invês de Fazer Assim:

sql = "SELECT top 5, id, apelido FROM membros WHERE Day(nascimento)"&"/"&"Month(nascimento) >= "&data_niver&" ORDER BY id DESC"

Faça Assim:

sql = "SELECT top 5, id, apelido FROM membros WHERE Day(nascimento) >= "&niver_dia&" AND Month(nascimento) >= "&niver_mes&" ORDER BY id DESC"

Seu código ficaria assim:

<%
dim dd, mm, aa
function FormataData(data)
dd = day(data)
mm = month(data)
aa = year(data)

if len(dd) = 1 then dd = "0" & dd
if len(mm) = 1 then mm = "0" & mm

FormataData = cstr(dd & "/" & mm & "/" & aa)
end function

dim data_atual
data_atual = FormataData(Date)

dim niver_dia, niver_mes, niver_ano
niver_dia = Day(data_atual)
niver_mes = Month(data_atual)
niver_ano = Year(data_atual)

if Len(niver_dia) < 2 then
niver_dia = "0"&Month(data_atual)
end if
if Len(niver_mes) < 2 then
niver_mes = "0"&Month(data_atual)
end if

dim sql, rs3
sql = "SELECT top 5, id, apelido FROM membros WHERE Day(nascimento) >= "&niver_dia&" AND Month(nascimento) >= "&niver_mes&" ORDER BY id DESC"
set rs3 = db.Execute(sql)
do while not rs3.eof
'dados dos membros, com o id e o apelido
rs.movenext
loop

'logo depois só um teste
Response.Write(niver_dia&"<br>")
Response.Write(niver_mes&"<br>")
Response.Write(niver_ano&"<br>")
Response.Write(data_niver&"<br>")
Response.Write(sql&"<br>")
%>

Bem se foi isso que eu pensei acho que isso resolve !!! (y)

Caso não sejá poste novamente !!!

Sem Mais Agradeço Pela Atenção Dispençada !!!
################# DADOS #################
# NOME: Rafael T. Coelho
# SITE: Lazer e Diversão
# CONHECIMENTOS: HTML, Java Script, CSS e ASP
#######################################

#9 [webmaster]®

[webmaster]®

    Hobby por criar funções genérica, semânticas e otimizadas

  • Usuários
  • 310 posts
  • Sexo:Não informado
  • Localidade:Canoas - RS
  • Interesses:ASP<br>CSS<br>JavaScript - DOM - ECMASCRIPT - JSCRIPT<br>XHTML<br>HTML<br>DHTML, AJAX, JSON, TABLELESS<br>ACESS<br>MYSQL<br>SQL SERVER<br><br>SEO, WEBSTANDARDS, ACESSIBILIDADE, USABILIDADE, AI

Posted 02/02/2004, 23:43

Ae lazerediversao, grande idéia mesmo!!!

Mas isso não funcionou, listou todos os membros e a ordem tbm não foi correta!!!

Tô achando isso mtooo complicado, já não sei o q tentar! :(
Meus sites:
- Guia Camaquã
- Laroya atacadista
- Emílio confecções

Ocupação: WebDeveloper avançado

Contato:
Email: gutoasp[at]gmail[dot]com
MSN: gutoasp[at]hotmail[dot]com
Trabalhando desde 1999 com websites.

Para saber mais sobre meu trabalho, sobre o que faço, e o que sei, clique aqui!

#10 [webmaster]®

[webmaster]®

    Hobby por criar funções genérica, semânticas e otimizadas

  • Usuários
  • 310 posts
  • Sexo:Não informado
  • Localidade:Canoas - RS
  • Interesses:ASP<br>CSS<br>JavaScript - DOM - ECMASCRIPT - JSCRIPT<br>XHTML<br>HTML<br>DHTML, AJAX, JSON, TABLELESS<br>ACESS<br>MYSQL<br>SQL SERVER<br><br>SEO, WEBSTANDARDS, ACESSIBILIDADE, USABILIDADE, AI

Posted 03/02/2004, 23:32

Bem lazerediversao.

Depois de alguns testes com mais calma, fiz tudo corretamente e funcionou.
Sua dica valeu e mtooo.
Mais uma vez, obrigado.

Acho q o meu erro foi em não colocar um parenteses antes do DAY e do MONTH.

E depois de alguns testes foi indo e ficou assim, perfeitinha.

sql = "SELECT top 5, id, apelido FROM membros WHERE (Day(nascimento) >= "&n_dia&") AND (Month(nascimento) >= "&n_mes&") ORDER BY Month(nascimento)"

Obrigado a todos q ajudaram!

MODERADORES meus brothers, podem fechar o tópico!
Meus sites:
- Guia Camaquã
- Laroya atacadista
- Emílio confecções

Ocupação: WebDeveloper avançado

Contato:
Email: gutoasp[at]gmail[dot]com
MSN: gutoasp[at]hotmail[dot]com
Trabalhando desde 1999 com websites.

Para saber mais sobre meu trabalho, sobre o que faço, e o que sei, clique aqui!

#11 rgaspar

rgaspar

    Novato no fórum

  • Usuários
  • 22 posts
  • Sexo:Masculino
  • Localidade:Porto - Portugal

Posted 18/05/2007, 08:51

e agora encontrar uma string sql que me mostre o aniversariante do proximo dia?

tipo no registo o cara tem a data de aniversário do dia 19-05-1973, o que eu desejo é que a string filtre com a data de hoje este cara que faz anos amanha.
Já sei que tem que ser qualquer coisa tipo dateadd("d", -1, (aniversario) mas e construir isto numa linha de sql??

fico à espera de uma ajudinha :)

esqueci de por o código em anexo.
Peço por favor que alterem-no e acrescentem o que tem que acrescentar.

O objectivo é: eu inserir um registo exemplo com a data de aniversário 19-05-1975 e o código no dia 18-05-2007 me lembrar que amanha dia 19-05-2007 existe um cara que faz anos. Simplesmente é apenas isso que necessito.

Observar bem e correr o código que envio.

Obrigado pela colaboração.

Attached Files






0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq