Ir para conteúdo

Arquivado

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

estranho.com

[Resolvido] loop e banco de dados

Recommended Posts

Olá pessoal..

 

estou com uma baita duvida....

to fazendo uma página de eventos..

os nomes, datas e imagens de flyers estão cadastrados em um banco de dados

 

na página quero fazer um loop mostrando os eventos tendo imbutido no loop um if para não mostrar os eventos q já passaram ....

só q eu não sei visualizar a quantidade de eventos na tabela para efetuar o loop??

 

http://forum.imasters.com.br/public/style_emoticons/default/blush.gif http://forum.imasters.com.br/public/style_emoticons/default/excl.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz esta distinção no proprio select

 

seleciona apenas o que ainda está por vir

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao é funcao

 

é so colocar um WHERE DATA > DATAATUAL

Compartilhar este post


Link para o post
Compartilhar em outros sites

como declarar esses valores de forma correta?? e nessa ordem? quando testo a variavel ano aparece como "aaaa"??

<%
dim data_atual, data_evento

[color="#FF0000"]data_atual =  year(now) month(now) day(now)
data_evento = rst("ano") rst("mes") rst("dia")[/color]

 If  data_atual < datae_vento  

Then
%>

   mostrar evento
 
  <% else %>
  
  não mostrar 
 
  <% end if %>

e 


<%
Dim ConnectString, con, data
data1 =  Request.querystring("data")

ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../dados/banco.mdb")
Set con = Server.CreateObject("ADODB.Connection")
con.open ConnectString

Set rst = Server.CreateObject("ADODB.Recordset")
SQL = "Select * from fotos were dataevento = 'data1' " 


rst.Open SQL, con, 3, 3
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<% do while not rst.EOF %>

<%= rst("foto") %>

<% rst.Movenext
	   Loop %>
</body>
</html>

esse codigo é da pagina a ser aberta a traves de um link gerada pela pagina anterior mas esta dando um erro na SQL, o valor passado pela variavel é 10/01/2008.. eu quero mostre somente estas fotos??? qual o erro??

Compartilhar este post


Link para o post
Compartilhar em outros sites

como declarar esses valores de forma correta?? e nessa ordem? quando testo a variavel ano aparece como "aaaa"??

<%
dim data_atual, data_evento

------------------------------>>>>>data_atual =  year(now) month(now) day(now)
-------------------------------->>>>data_evento = rst("ano") rst("mes") rst("dia")

 If  data_atual < datae_vento  

Then
%>

   mostrar evento
 
  <% else %>
  
  não mostrar 
 
  <% end if %>

e ________________________________________________________________________________
_________________


<%
Dim ConnectString, con, data
data1 =  Request.querystring("data")

ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../dados/banco.mdb")
Set con = Server.CreateObject("ADODB.Connection")
con.open ConnectString

Set rst = Server.CreateObject("ADODB.Recordset")
SQL = "Select * from fotos were dataevento = 'data1' " 


rst.Open SQL, con, 3, 3
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<% do while not rst.EOF %>

<%= rst("foto") %>

<% rst.Movenext
	   Loop %>
</body>
</html>

esse codigo é da pagina a ser aberta a traves de um link gerada pela pagina anterior mas esta dando um erro na SQL, o valor passado pela variavel é 10/01/2008.. eu quero mostre somente estas fotos??? qual o erro??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fez a alteração na SQL, como o Mário disse?

 

Analisando por alto seu código...já vi um erro..

 

If  data_atual < ""datae_vento""

Erro de digitação ou está assim mesmo??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fez a alteração na SQL, como o Mário disse?

 

Analisando por alto seu código...já vi um erro..

 

If  data_atual < ""datae_vento""

Erro de digitação ou está assim mesmo??

 

Foi erro de digitação sim...

 

Bem eu já tentei até fazer um if em javascript mas tambem não deu certo..

 

a maneira mais simples é pela sql mais não estou sabendo fazer um if pra gerar a variavel na sql porque o ano aparece 30/01/aaaa

 

ou deve ser na sql mesmo??

Compartilhar este post


Link para o post
Compartilhar em outros sites

que erro está dando? Vamos ai resolver isso!!!

<%
Dim ConnectString, con

ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../dados/banco.mdb")
Set con = Server.CreateObject("ADODB.Connection")
con.open ConnectString

Set rst = Server.CreateObject("ADODB.Recordset")
SQL = "Select * from eventos " ' Were dataevento > data atual?????????????

rst.Open SQL, con
%>

só quero q a select mostre os eventos atuais e não mostre os que ja passaram...

Compartilhar este post


Link para o post
Compartilhar em outros sites

colocando o valor para "data_atual" como superior ou igual a data de hoje..funciona?

 

-Edit-

 

 

SQL = "Select * from eventos " ' Were dataevento >= Date(Now)

Mais ou menos isso..

 

Tenta ae.. :D

 

[]´s ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora veja bem isso não existe:

data_atual =  year(now) month(now) day(now)
data_evento = rst("ano") rst("mes") rst("dia")

o certo é isso:

data_atual =  year(now)&"/"&month(now)&"/"&day(now)
data_evento = rst("ano")&"/"&rst("mes")&"/"&rst("dia")

verifique como está buscando a data e como ela está cadastrada e se o campo que está armazenando a data é realmente um campo DATE

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, isso tá errado....

 

Select * from eventos " ' Were dataevento > data atual

 

"were" n existe..é "WHERE"

 

E também náo tem esse "'

 

tenta isso:

 

Select * from eventos Where dataevento > data atual

 

Ou

 

Select * from eventos Where dataevento > getDate()

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom companheiros 10 a 0 pro codigo...aff

 

1 * quando eu uso

 

 

Select * from eventos Where dataevento > getDate()

 

da erro

Tipo de erro:

Microsoft JET Database Engine (0x80040E14)

Função 'getDate' indefinida na expressão.

______________________________________________

2 * e não tem como eu usar

 

data_atual = year(now)&"/"&month(now)&"/"&day(now)

data_evento = rst("ano")&"/"&rst("mes")&"/"&rst("dia")

 

porque ficaria exemplo

 

data_atual = 2008/01/31

data_evento = 2008/01/15

 

como seria uma validação o legal seria assim

 

data_atual = 20080131

data_evento = 20080115

sempre daria certo... na teoria..

 

é um codigo simples mais estou apanhando,,, eu avia postado

SQL = "Select * from eventos " ' Where dataevento > data atual?????????????

 

porque não funcionava então deixei como comentario por isso usei " ' Where dataevento > data atual "

Compartilhar este post


Link para o post
Compartilhar em outros sites

getDate() eu nunca vi, conheço DATE()

 

SQL = "Select * from eventos Where dataevento > '"&dataatual&"'

agora esse dataevento é uma coluna do banco?

Compartilhar este post


Link para o post
Compartilhar em outros sites

getDate() eu nunca vi, conheço DATE()

 

SQL = "Select * from eventos Where dataevento > '"&dataatual&"'

agora esse dataevento é uma coluna do banco?

 

sim é uma coluna da tabela eventos

 

bom... assim até passou sem dar erro

 

mais não esta validando....

 

meu codigo ficou assim

 

Dim ConnectString, con, dataatual

 

dataatual = year(now)&month(now)&day(now)

ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../dados/banco.mdb")
Set con = Server.CreateObject("ADODB.Connection")
con.open ConnectString

Set rst = Server.CreateObject("ADODB.Recordset")
SQL = "Select * from eventos Where ano&mes&dia > '"&dataatual&"'"

rst.Open SQL, con
lembrando q eu quero que apareça nomeros inteiros 20081001 e 20080201

 

e quando eu peço para imprimir data atual aparece

 

2/1/aaaa 11:43:5921

Compartilhar este post


Link para o post
Compartilhar em outros sites

se no banco a data está nesse formato 0000/00/00 na hora de comparar você tbm tem que colocar nesse formato

 

data_atual = year(now)&"/"&month(now)&"/"&day(now)

Agora seria o ideal que o campo ficasse como DATE e não com SmalDate ou DATETIME

Compartilhar este post


Link para o post
Compartilhar em outros sites

se no banco a data está nesse formato 0000/00/00 na hora de comparar você tbm tem que colocar nesse formato

 

data_atual = year(now)&"/"&month(now)&"/"&day(now)

Agora seria o ideal que o campo ficasse como DATE e não com SmalDate ou DATETIME

 

vou olhar lá na tabela....

mais o problema não é esse... a contece que eu estou testando no meu localhost e por exemplo quando eu coloco no no codigo para mostrar data atual dessa maneira

data_atual = year(now)&"/"&month(now)&"/"&day(now)

ela aparrece

aaaa/02/05 ?????? como eu resolvo esse "aaaa"?

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.