Ir para conteúdo

Arquivado

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

designmix

pegar por data do dia de hoje

Recommended Posts

Preciso saber como faço para pegar apenas 10 primeiras noticias que esta no db mais que mostre aparti da data do dia

 

Ex: mostra as de hoje e as 10 anteriores

 

fiz ate aqui mais não sei mais como proseguir

ASP

[*]<!--#include FILE="_conn/bib_conexao_.asp"-->

 

[*]<%

 

[*]SQLs "SELECT * FROM `noticia` where data = now()"

 

[*]call abre_conexao

 

[*]

 

[*]Set RSnoticia Conn.Execute(SQls)

 

[*]

 

[*]%>

Mostra noticia
ASP

[*]<% While Not Rsnoticia.EOF %>

 

[*] <%=RSnoticia("Data")%>  -  <%=Rsnoticia("materia")%>

 

[*]

 

[*] </div>

 

[*] <%

 

[*] RSnoticia.MoveNext

 

[*] wend

 

[*] %>

Ainda estou pegando o jeito do asp

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, se você coloca Now().. você pega não só a data, mas tb a hora..... pra pegar a data, cria uma variável e joga a data nela.... e coloca um order desc......<%vardata=date"SELECT * FROM 'noticia' where data = vardata order by desc"%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode usar dois recordsets um pra pegar tudo de hoje e outro pra pegar as 10 anterioresSQLs = "SELECT * FROM noticia where data = #" & Date & "# ORDER BY ID DESC"ESQLs = "SELECT TOP 10 * FROM noticia where data < #" & Date & "# ORDER BY ID DESC"dependendo do BD você pode precisar inverter o mes e o dia na data antes do select pra ficar no formato MMDDAAAA, tenta ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou ter que fazer um if para poder  fazer isso?

como assim?? nao entendi

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz um mostra os dados e faz o outro embaixo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera comecei a fazer assim so que agora não sei mais como continuar.

 

ASP

[*]<!--#include FILE="_conn/bib_conexao_.asp"-->

 

[*]<%

 

[*]dim SQLs, SQL

 

[*]

 

[*]SQLs "SELECT * FROM noticia where data = #" & Date & "# ORDER BY ID DESC"

 

[*]SQL = "SELECT TOP 10 * FROM noticia where data < #" & Date & "# ORDER BY ID DESC"

 

[*]

 

[*]call abre_conexao

 

[*]Set RSnoticia Conn.Execute(SQls)

 

[*]

 

[*]%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade tudo pode ser feito em um único select.

 

Vamos ao código:

 

ASP

[*]<!--#include FILE="_conn/bib_conexao_.asp"-->

 

[*]<%

 

[*]Dim SQL, sDataIni, sDataFim

 

[*]

 

[*]sDataIni Date()

 

[*]sDataFim Date() - 10

 

[*]

 

[*]SQL "SELECT TOP 10 * FROM noticia where (data BETWEEN #" & sDataIni & "# AND #" & sDataFim & "#) ORDER BY ID DESC"

 

[*]

 

[*]Call abre_conexao

 

[*]

 

[*]Set RSnoticia Conn.Execute(SQls)

 

[*]

 

[*]%>

 

Vamos a explicação do código:

 

Primeiro declaramos duas variáveis a mais, sDataIni e sDataFim

 

A primeira armazena a data do dia e a segunda a data de hoje menos 10 dias, ou seja, supondo que a data inicial fosse 17/08/2005 o sql produzido seria esse:

SELECT TOP 10 * FROM noticia WHERE (data BETWEEN #17/8/2005# AND #7/8/2005#) ORDER BY ID DESC
Assim você sempre pega os 10 últimos contando a partir da data de hj.

 

[]'s

 

B)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta dando esse erro

 

Microsoft OLE DB Provider for ODBC Drivers erro '80040e14' You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '10 * FROM noticia where (data BETWEEN #17/8/2005# AND #7/8/2005 /dtp/default_db.asp, line 11

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao uso Access - pq ja estou com problema com essa bosta de access.

 

Deixa eu explicar uma coisa, Minha tabela nao esta como data esta como varchar, pois eu que vou colocar a data e vai ficar assim 17/08

Isso muda alguma coisa, Nao quiz usar o campo date porque a data vem invertida

 

Fiz assim e deu certo, Estou usando MYSQL

 

ASP

[*]

 

[*]SQL "SELECT * FROM `noticia` LIMIT 0, 50"

 

[*]

 

[*]Call abre_conexao

 

[*]Set RSnoticia Conn.Execute(SQL)

Compartilhar este post


Link para o post
Compartilhar em outros sites

se for os 10 ultimos é isso mesmomas eu entendi que ele queria todos de hoje e mais os 10 ultimos anteriores a hoje

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloquei assim e deu certo

ASP

[*]<!--#include FILE="_conn/bib_conexao_.asp"-->

 

[*]

 

[*]<%

 

[*]

 

[*]SQL "SELECT * FROM `noticia` order by data desc limit 0, 10"

 

[*]

 

[*]Call abre_conexao

 

[*]Set RSnoticia Conn.Execute(SQL)

 

[*]

 

[*]%>

 

Mais queria saber se a algum problema em usa um campo vachar e nao de date para data.

 

estou colocando a data assim 17-05-05

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.