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

(Resolvido) Listar somente um dos anos amarzenados no BD


ratocuiara

Pergunta

Pessoal é o seguinte tenho uma base de dados com o campo data assim:

Data

06/04/2008

07/04/2008

06/04/2009

07/04/2009

Quero fazer um loop que liste os anos e oculte caso haja repetição ou seja.

2008

2009

Grato

Para que vocês possam entender o que eu quero segue parte do meu código:

<form name="form1" method="post" action="teste.asp">

<select name="ano" id="ano" onChange="submit()">

<option selected><%=sel%></option>

<% tsql="select * from cons_pedido"

set rs= conn.execute(tsql)

do while not (rs.eof) 'Aqui que está a minha dúvida, como fazer caso o ano já tenha sido listado ele ignore e passa a listar o próximo %>

<option value="<%=year(rs("data"))%>"><%=Year(rs("data"))%></option>

<% rs.movenext

loop %>

</select>

</form>

Editado por ratocuiara
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Então vamos lá... caso interessante esse seu...

Primeiro fator... selecionando o ano:

O que faz mais sentido pra mim aqui é usares o select distinct com uma clausula de where utilizando um between por exemplo entre 01/01/2008 até 31/12/2008 a mesma coisa com todos os anos...

Segundo fator... diferentes anos:

esse sselct acima, necessariamente precisará ficar dentro de um loop, para que possa ir passando de ano a ano dinamicamente... fazendo-se com que o select acima se repita tendo como bases os intervalos de anos que se queiram... por exemplo um loop de 2000 a 2014.

Terceiro fator: imprimindo apenas o ano:

Usando-se um datepart no recordset que se criou no select acima se tem apenas o ano... ex.: datepart("yyyy", rs("data"))

Enfim... acho que essa é a lógica da coisa... tente montar o script e se houver dificuldade poste aqui que eu te ajudo!

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0
Então vamos lá... caso interessante esse seu...

Primeiro fator... selecionando o ano:

O que faz mais sentido pra mim aqui é usares o select distinct com uma clausula de where utilizando um between por exemplo entre 01/01/2008 até 31/12/2008 a mesma coisa com todos os anos...

Segundo fator... diferentes anos:

esse sselct acima, necessariamente precisará ficar dentro de um loop, para que possa ir passando de ano a ano dinamicamente... fazendo-se com que o select acima se repita tendo como bases os intervalos de anos que se queiram... por exemplo um loop de 2000 a 2014.

Terceiro fator: imprimindo apenas o ano:

Usando-se um datepart no recordset que se criou no select acima se tem apenas o ano... ex.: datepart("yyyy", rs("data"))

Enfim... acho que essa é a lógica da coisa... tente montar o script e se houver dificuldade poste aqui que eu te ajudo!

[]'s Rafael Spilki

1 - Para que possas entender melhor o que eu pretendo aqui vai.

Tenho na base:

.....Data.....|..Produto..|

01/02/2008|carro

01/02/2008|casa

02/03/2008|estante

05/02/2009|carro

05/02/2009|casa

06/02/2009|estante

01/03/2009|telefone

2 - A minha intenção é pesquisar os produtos comprados no dia 01/02/2008. para isso pretendo utilizar combo box conectado ao bd

[select Ano] =>[select Mês]=>[select Dia]

Aki tá o problema, ao clicar no select ano ele lista todos os anos armazanados eu gostaria que mostrasse somente 2008 e 2009

3 - Lista os produtos pesquisados

01/02/2008 | carro

01/02/2008 | casa

Entendi a sua lógica só não sei como imprementar aki.

Grato

Link para o comentário
Compartilhar em outros sites

  • 0

Então... é so usar aquela lógica ali... e implementá-la não é tão difícil...

O que sugiro é que você comece pesquisando sobre a sintaxe e o porque de se usar select distinct... o resto é uma questão de loops... nada muito complicado...

Bom... então pra começar segue o primeiro link... depois de montar essa query você posta aqui, partimos então pro primeiro loop e na sequencia pro segundo e último loop!

sobre SQL - referencia básica: http://www.webly.com.br/tutorial/asp/1398/...e-consultas.htm

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...