Ir para conteúdo

POWERED BY:

Arquivado

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

Daniel Paes

select top 6

Recommended Posts

Olá amigos!!Estou com um pequeno problema.... eu quero mostrar apenas 6 registros por ordem de data em meu site... so que está aparecendo mais de 6 registros, mas quando eu coloco por ID aparecem apenas 6 normalmente.Como faço para resolver este problema???

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok... aqui vai o codigo:

<%AbreConexaoSQL = "SELECT TOP 6 * FROM tblnews ORDER BY data DESC"Set rs = Conexao.Execute(SQL)While not rs.EOFid_new = rs("id_new")%><Table width="427" border="0" cellpadding="5" cellspacing="0"><%Colunas=2 'Defina o número de colunasWhile not rs.EOFresponse.write"<tr>"for x= 1 to Colunasif rs.EOF or rs.BOF then ' Se for o Fim do RecordSet ou o Inicio do RecordSet façaresponse.write "<TD>-</TD>" 'Em caso de EOF ou BOF ele completa as colunas com "-"else ' Se Não for o Fim do RecordSet ou o Inicio do RecordSet façaresponse.write "<TD valign=""top"">"response.write "<table width=""206"" height=""55"" border=""0"" align=""center"" cellpadding=""0"" cellspacing=""0"" valign=""top"">"response.write "<tr>"response.write "<td width=""63"" valign=""top"">"response.write "<a href='ler.asp?codigo="&rs("id_new")&"'><img src='"&rs("img_principal")&"' border=""0"" width=""55"" height=""55""></a>"response.write "</td>"response.write "<td width=""143"" class=""fonte"" valign=""top"">"response.write "<a href='ler.asp?codigo="&rs("id_new")&"'><font color=""#999999""><strong>"&rs("titulo")&"</strong>"response.write "<br>"&fResumir(rs("headline"), qtd)&"</font></a></td>"response.write "</tr>"response.write "</table>"response.write "</TD>"rs.movenextend ifnextresponse.write linha&"</TR>"wend%><%Wendrs.closeFechaConexaoSet rs = nothing %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

mostra mais de 6 pq tem mais de 6 registros, ou seja, tem mais de 6 registros com a mesma data!!!

Mas tem como resolver isso pq por id ia "babar", pois alguns registros eu cadastro com outra data e iria ficar tudo embolado.... tipo.... hj eu cadastrei dia 25/12/2003 ai se eu cadastrar dia 20/12/2003 essa ultima iria aparecer primeiro se fosse por id

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então kara faz um loop pra exibir só os 6, tipo assim:

While Not rs.EOF OR numero <= 6  numero = numero + 1  Response.Write rs("campo")  rs.MoveNextNext

Entendeu?
Eu já vi um poste seu que você fala sobre isso.. mas eu naum sei onde colocar no meu codigo.... você tem como me ajudar??????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe a stupidez.... mas veja.. deu esse erro:

Erro de compilação do Microsoft VBScript erro '800a040e'

 

'loop' sem 'do'

 

/asp/noticias-index.asp, line 146

 

loop

^

Aqui está o codigo:

<%

AbreConexao

SQL = "SELECT TOP 6 * FROM tblnews order by data desc"

Set rs = Conexao.Execute(SQL)

While not rs.EOF

id_new = rs("id_new")

%>

<Table width="427" border="0" cellpadding="5" cellspacing="0">

<tr>

<% Dim contador

contador = 1

maxcol = 2' <----------Aqui você seta a quantidade de registros na linha

While Not rs.EOF OR numero <= 6

numero = numero + 1

 

%>

<%

if contador <= maxcol then %>

<td>

<%

response.write "<table width=""206"" height=""55"" border=""0"" align=""center"" cellpadding=""0"" cellspacing=""0"" valign=""top"">"

response.write "<tr>"

response.write "<td width=""143"" class=""fonte"" valign=""top"" align=""right"">"

response.write "<a href='ler.asp?codigo="&rs("id_new")&"'><font color=""#999999""><strong>"&rs("titulo")&"</strong>"

response.write "<br>"&fResumir(rs("headline"), qtd)&"</font></a>"

response.write "</td>"

response.write "<td width=""63"" class=""fonte""  valign=""middle"" align=""right"">"

response.write "<a href='ler.asp?codigo="&rs("id_new")&"'><img src='"&rs("img_principal")&"' border=""0"" width=""55"" height=""55""></a>"

response.write "</td>"

response.write "</tr>"

response.write "</table>"

%>

</td>

 

<%

contador = contador + 1

else %>

</tr>

<tr>

<td>

<%

response.write "<table width=""206"" height=""55"" border=""0"" align=""center"" cellpadding=""0"" cellspacing=""0"" valign=""top"">"

response.write "<tr>"

response.write "<td width=""63"" valign=""middle"">"

response.write "<a href='ler.asp?codigo="&rs("id_new")&"'><img src='"&rs("img_principal")&"' border=""0"" width=""55"" height=""55""></a>"

response.write "</td>"

response.write "<td width=""143"" class=""fonte"" valign=""top"">"

response.write "<a href='ler.asp?codigo="&rs("id_new")&"'><font color=""#999999""><strong>"&rs("titulo")&"</strong>"

response.write "<br>"&fResumir(rs("headline"), qtd)&"</font></a>"

response.write "</td>"

response.write "</tr>"

response.write "</table>"

%>

</td>

<%

contador = 2

end if

rs.movenext

loop  ----- LINHA DO ERRO

'completa as colunas

do while contador <= maxcol %>

<td>

 

</td>

<% contador = contador + 1

loop %>

</tr>

</table>

<%

Wend

rs.close

FechaConexao

Set rs = nothing %>

me ajude por favor.....

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara nao leva a sério o q esse tal de bicicleta diz!!!!

ajuda o cara então seu flooder!num sabe fica queto!
gosto de ver você quebrando a cabeça !!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara nao leva a sério o q esse tal de bicicleta diz!!!!

ajuda o cara então seu flooder!num sabe fica queto!
gosto de ver você quebrando a cabeça !!!!
E ai??? você tem alguma idéia de onde pode estar o erro??? pois estou testando de tudo desde ontem e nada ainda

Compartilhar este post


Link para o post
Compartilhar em outros sites

deu esse erro:

erro '80020009'

Exceção.

 

/asp/noticias-index.asp, line 112

Qual é essa linha?
a linha que da erro é a vermelha:

 

<%

AbreConexao

SQL = "SELECT TOP 6 * FROM tblnews order by data desc"

Set rs = Conexao.Execute(SQL)

While not rs.EOF AND numero1 <= 6

numero1 = numero1 + 1

id_new = rs("id_new")

%>

<Table width="427" border="0" cellpadding="5" cellspacing="0">

<tr>

<% Dim contador

contador = 1

maxcol = 2' <----------Aqui você seta a quantidade de registros na linha

While Not rs.EOF OR numero <= 6

numero2 = numero2 + 1

 

%>

<%

if contador <= maxcol then %>

<td>

<%

response.write "<table width=""206"" height=""55"" border=""0"" align=""center"" cellpadding=""0"" cellspacing=""0"" valign=""top"">"

response.write "<tr>"

response.write "<td width=""143"" class=""fonte"" valign=""top"" align=""right"">"

response.write "<a href='ler.asp?codigo="&rs("id_new")&"'><font color=""#999999""><strong>"&rs("titulo")&"</strong>"

response.write "<br>"&fResumir(rs("headline"), qtd)&"</font></a>"

response.write "</td>"

response.write "<td width=""63"" class=""fonte"" valign=""middle"" align=""right"">"

response.write "<a href='ler.asp?codigo="&rs("id_new")&"'><img src='"&rs("img_principal")&"' border=""0"" width=""55"" height=""55""></a>"

response.write "</td>"

response.write "</tr>"

response.write "</table>"

%>

</td>

 

<%

contador = contador + 1

else %>

</tr>

<tr>

<td>

<%

response.write "<table width=""206"" height=""55"" border=""0"" align=""center"" cellpadding=""0"" cellspacing=""0"" valign=""top"">"

response.write "<tr>"

response.write "<td width=""63"" valign=""middle"">"

response.write "<a href='ler.asp?codigo="&rs("id_new")&"'><img src='"&rs("img_principal")&"' border=""0"" width=""55"" height=""55""></a>"

response.write "</td>"

response.write "<td width=""143"" class=""fonte"" valign=""top"">"

response.write "<a href='ler.asp?codigo="&rs("id_new")&"'><font color=""#999999""><strong>"&rs("titulo")&"</strong>"

response.write "<br>"&fResumir(rs("headline"), qtd)&"</font></a>"

response.write "</td>"

response.write "</tr>"

response.write "</table>"

%>

</td>

<%

contador = 2

end if

rs.movenext

Wend

'completa as colunas

do while contador <= maxcol %>

<td>

 

</td>

<% contador = contador + 1

loop %>

</tr>

</table>

<%

Wend

rs.close

FechaConexao

Set rs = nothing %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro tenta colocar essa linha... no lugar da q esta dando erro...

 

response.write "<a href=""ler.asp?codigo="&rs("id_new")&"""><font color=""#999999""><strong>"&rs("titulo")&"</strong>"

Se não funcionar mesmo assim, faz um teste.

Primeiro tira o "?codigo="&rs("id_new")&" e depois o

"&rs("titulo")&" e vê qual é que esta dando erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom fiz todas as alterações, mas continuou dando erro. Tirei todo o codigo da linha e deixei a letra "a" e deu esse erro:

a erro '80020009'

Exceção.

 

/asp/noticias-index.asp, line 32

que referente ao codigo para cortar texto... que é esse: (a linha com erro esta de vermelho)

function fResumir(texto,qtd)

dim resumo ' resumo do texto

dim tam ' tamanho do resumo

dim pos ' indice do loop

dim tamtxt ' tamanho do texto

 

tam = qtd

tamtxt = len(texto)

 

if tam <= tamtxt then

 

for pos=tam to tamtxt

resumo = mid(trim(texto),1,pos)

if mid(resumo,pos,1) = space(1) then

exit for

end if

next

if pos < tamtxt then

resumo = resumo & "..."

end if

 

else

resumo = texto

end if

 

' retorna texto resumido

fResumir = resumo

end function

headline = texto

texto = headline

qtd = 65

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom... realmente tá difícil.... será que tem como fazer um select top 6 ordenado por data que mostre somente 6 registros mesmo que tenha 10 registros com a mesma data????

Compartilhar este post


Link para o post
Compartilhar em outros sites

outra coisa... pq quando eu pego o registro por ordem de data aparece3m datas trocadas.. tipo...5 registros por ordem de data ele me fornece nesta ordem:10/1110/1210/1224/1111/11Como eu faço para ficar:10/1210/1224/1111/1110/11??????????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usa esse order by:

Order By Year(data) Desc, Month(data) Desc, Day(data) Desc

No final de sua SQL.

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.