Ir para conteúdo

POWERED BY:

Arquivado

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

Legionario-rs

[Resolvido] Aniversariantes do dia

Recommended Posts

Boa tarde,

 

No script abaixo mesmo que tenha um registro no banco para aquela data ele imprime na tela que não há aniversariantes naquele determinado dia. O script não dá erro simplesmente não mostra o que eu preciso que mostre...

 

 

 

<script language="JavaScript">
function abrir(URL) {
  var width = 400;
  var height = 300;

  var left = 99;
  var top = 99;
  window.open(URL,'janela', 'width='+width+', height='+height+', top='+top+', left='+left+', scrollbars=yes, status=no, toolbar=no, location=no, directories=no, menubar=no, resizable=no, fullscreen=no');
}
</script>

<%
Session.LCID = 1046

'Tratando mês e dia da semana
Function ExibeData(data)   
  dia = day(data)   
  Select Case dia   
  Case 1 : dia = "1"  
  Case 2 : dia = "2"  
  Case 3 : dia = "3"  
  Case 4 : dia = "4"  
  Case 5 : dia = "5"  
  Case 6 : dia = "6"  
  Case 7 : dia = "7"  
  Case 8 : dia = "8"  
  Case 9 : dia = "9"  
  Case 10 : dia = "10"  
  Case 11 : dia = "11"  
  Case 12 : dia = "12"  
  Case 13 : dia = "13"  
  Case 14 : dia = "14"  
  Case 15 : dia = "15"  
  Case 16 : dia = "16"  
  Case 17 : dia = "17"  
  Case 18 : dia = "18"  
  Case 19 : dia = "19"  
  Case 20 : dia = "20"  
  Case 21 : dia = "21"  
  Case 22 : dia = "22"  
  Case 23 : dia = "23"  
  Case 24 : dia = "24"  
  Case 25 : dia = "25"  
  Case 26 : dia = "26"  
  Case 27 : dia = "27"  
  Case 28 : dia = "28"  
  Case 29 : dia = "29"  
  Case 30 : dia = "30"  
  Case 31 : dia = "31"  
  End Select  
  ExibeData = dia   
End Function  

data_hoje  = date()                          ' Aqui pega a data do dia atual   = 07/05/06
dia = right((left((data_hoje),5)),2)         ' Aqui pega os valores do mes =      05

'Pegando valores do seu banco e fazendo a consulta.
strCon = "DBQ=banco.mdb;Driver={Microsoft Access Driver (*.mdb)};"
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.CursorLocation = 3
objRS.CursorType = 0
objRS.LockType = 1

'Consulta no banco de dados
strSQL = "Select  *  from aniversarios WHERE right((left((data_nasc),5)),2) = '" & dia & "' order by ID DESC"

objRS.Open strSQL, strCon
%>
    <font face="Comic Sans MS" color="red"><b>Aniversariantes do dia <%Response.Write(ExibeData(now()))%> </b></font><br>
<%
If not objRS.EOF then 
objRS.MoveFirst
While Not objRS.EOF
%>
  <tr>
<% ' tratando valores para exibição das datas %>
    <td>
    <font face="Comic Sans MS" color=black><b><a style="text-decoration:none" href="javascript:abrir('aniver.asp?id=<%=objRS("id")%>');" title="Ver Mensagem da Escola"><%=Left(objRS("nome"),27)%> - <%=Replace(Left(objRS("data_nasc"),4),"/", ".")%></a><br>
    </b></font></td>
  </tr>
  <%
objRS.MoveNext
Wend 
Else
%>
<font face="Comic Sans MS" color="red">No dia <b><%Response.Write(ExibeData(now()))%></b> não há aniversariantes!</font><br>
<%
End If
%>
</table>
<%objRS.close%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá um response.write na sua string SQL para ver o que esta sendo passado

 

strSQL = "Select  *  from aniversarios WHERE right((left((data_nasc),5)),2) = '" & dia & "' order by ID DESC"
response.write(strSQL)
response.end

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite,

 

Nada, simplesmente uma página em branco, o que me refiro é que não há erro e sim o script ao invés de mostrar por exemplo "Fulano está de aniversário hoje" ele mostra sempre o trecho do script "<font face="Comic Sans MS" color="red">No dia <b><%Response.Write(ExibeData(now()))%></b> não há aniversariantes!</font><br>" mesmo tendo o registro no banco que deveria ser mostrado naquele local e localmente aqui na minha máquina funciona perfeitamente mas quando envio pro servidor não dá certo já falei com eles e me disseram que está tudo ok mas nada do bendito funcionar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este exemplo

mTitleColor = "DARKRED" '* This is the color of the title 'Today in History' *'
mHeaderColor = "DARKBLUE" '* This is the color of the headers, Birthdays, Events *'
mYearColor = "DARKBLUE" '* This is the color of the year *'
mTextColor = "#069" '* This is the color of the text of the birthday or event *'
mTitle = "Aniversariantes do Mês: " '* What you want to appear as the title *'

mDataBaseDir = "Today.mdb" '*****************************************************'



'* Function to return the verbose month given an integer 1-12 *'

function toLongMonth(pInInteger)

mMonth = "Não encontrado"

if isNumeric(pInInteger) then
select case pInInteger
case 1: mMonth = "Janeiro"
case 2: mMonth = "Fevereiro"
case 3: mMonth = "Março"
case 4: mMonth = "Abril"
case 5: mMonth = "Maio"
case 6: mMonth = "Junho"
case 7: mMonth = "Julho"
case 8: mMonth = "Augosto"
case 9: mMonth = "Setembro"
case 10: mMonth = "Outubro"
case 11: mMonth = "Novembro"
case 12: mMonth = "Dezembro"
end select
end if

toLongMonth = mMonth

end function

'* Open DSNless connection to Today.mdb *'
set connGlobal = server.createobject("ADODB.Connection")
connGlobal.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ= " & server.mappath(mDataBaseDir)

'* SQL Statement to pull data *'
mSQL = "SELECT his_type, his_day, his_desc FROM UNV_HISTORY " & _
" WHERE his_month = datepart('m', date()) " & _
" ORDER BY his_day, his_desc 

'* Execute the SQL statement *'
set rsGlobal = connGlobal.execute(mSQL)

'* Display The Title *'
response.write "<FONT>" & mTitle & _
toLongMonth(datepart("m", date())) & _
" " & datepart("yyyy", date()) & _
"</FONT>

"

'* Display The Birthday Tag *'
response.write "<FONT>Parabéns:</FONT>"

mType = "B"

'* Initialize a table that will be used to format results of rsGlobal *'
response.write "<TABLE>"

'* Loop through recordset *'
while not rsGlobal.eof

'* Check to see if the type has changed, if so change the Tag to Events: *'
'if rsGlobal("his_type") </TABLE>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vi o exemplo, mas não tem como ver se o meu passa a funcionar como deveria?

 

Ele só não mostra os aniversariantes como deveria mesmo tendo gente cadastrada!

 

Grato pela ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz assim:

 

strSQL = "Select  *  from aniversarios WHERE right((left((data_nasc),5)),2) = '" & dia & "' order by ID DESC"
response.write(strSQL)
response.end

para ver o que sua consulta SQL esta retornando !!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite,

 

Problema resolvido, segue a solução se puder auxiliar a alguém com problemas também.

 


strSQL = "Select  *  from aniversarios WHERE day(data_nasc) = " & day(now) & " order by ID DESC"

Abraço a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok, beleza

Compartilhar este post


Link para o post
Compartilhar em outros sites

precisa levar em conta o mês também

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.